发布网友 发布时间:2022-04-22 14:39
共3个回答
热心网友 时间:2023-11-09 05:51
%*s里的*用depth的值代替,如果depth=5;的话,就与下面的等效:printf("%5s%s/\n"," ",entry->d_name)。
Linux的类ls程序,格式里面有几个控制符有三个:* 对应 depth %s %s,C语言里面的控制输出字符串宽度的,如%2s。
%c表示输出一个字符;
%d表示输出带符号的十进制整型数;
%s表示输出一个字符串,知道遇到“\0”。
所以printf("%c,%d,%s\n",c,i,s);的意思是c变量用字符形式输出;i变量用十进制整型数形式输出;s变量用字符串形式输出。
printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("<式样化字符串>",<参数表>)。
扩展资料:
printf 的格式控制字符串 format 中的转换说明组成如下,其中 [] 中的部分是可选的:
%[flags][width][.precision][length]specifier,即:%[标志][最小宽度][.精度][类型长度]说明符。转换说明详解见下文。
附加参数 -- 根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。
printf 函数在输出格式 format 的控制下,将其参数进行格式化,并在标准输出设备(显示器、控制台等)上打印出来。如果函数执行成功,则返回所打印的字符总数,如果函数执行失败,则返回一个负数。
参考资料来源:百度百科-printf
热心网友 时间:2023-11-09 05:52
%*s里的*用depth的值代替,如果depth=5;的话,就与下面的等效:
printf("%5s%s/\n"," ",entry->d_name);
热心网友 时间:2023-11-09 05:52
Linux的类ls程序吧~可能你没明白你的格式里面有几个控制符~其实有三个~* 对应 depth %s %s不用说吧~C语言里面的控制输出字符串宽度的~如%2s