neu*_*cer 2 c formatting printf
我有这个printf声明:
printf("name: %s\t"
"args: %s\t"
"value %d\t"
"arraysize %d\t"
"scope %d\n",
sp->name,
sp->args,
sp->value,
sp->arraysize,
sp->scope);
Run Code Online (Sandbox Code Playgroud)
它位于for循环中,因此它为指针列表打印多行.
问题是,如果打印的某些东西更长或更短,则会导致事物不对齐.如何让它始终排队?
可以为每个转换说明符指定一个字段宽度,该字段宽度给出转换将使用的最小字符数.还有其他标志和精度可用于控制输出(例如,%s
转换时,精度项表示将使用最多多少个字符).
printf("name: %20.20s\t"
"args: %10.10s\t"
"value %6d\t"
"arraysize %6d\t"
"scope %6d\n",
sp->name,
sp->args,
sp->value,
sp->arraysize,
sp->scope);
Run Code Online (Sandbox Code Playgroud)