C++ 打印n个空格字符-(f)打印f格式
有没有办法打印一定数量的空白字符 我不能使用最小宽度空白填充C++ 打印n个空格字符-(f)打印f格式,c++,c,printf,C++,C,Printf,有没有办法打印一定数量的空白字符 我不能使用最小宽度空白填充“\”%-5s\”,因为这将导致“str”…,我需要输出“str”… 我知道我可以用一种愚蠢的方式: int len = strlen (str); printf ("/"%s/"", str); for (int i = len - 5; i > 0; i--) printf (" "); 但我希望能有更有效的解决办法。试试看 printf ( "%*c\"%s\"%*c", leading, ' ', str, tr
“\”%-5s\”
,因为这将导致“str”…
,我需要输出“str”…
我知道我可以用一种愚蠢的方式:
int len = strlen (str);
printf ("/"%s/"", str);
for (int i = len - 5; i > 0; i--)
printf (" ");
但我希望能有更有效的解决办法。试试看
printf ( "%*c\"%s\"%*c", leading, ' ', str, trailing, ' ');
其中前导和尾随为整数。仅供使用
printf ( "\"%s\"%*c", str, trailing, ' ');
类似的修改仅适用于引线
编辑宽度说明符允许使用星号提供可变宽度。
在本例中,%*c告诉printf获取下一个参数,并将其用作字符的宽度。
它首先读取前导字符,并将其用作打印字符(空格字符)的字段宽度。然后打印一个报价\“。%s格式打印下一个参数str。将打印另一个引号,然后%*c再次读取尾随作为要打印下一个参数的字段的宽度,另一个空格字符 正是我需要的!非常感谢你。请,作为答案发布。解释一下这是如何工作的会很好,我现在只是盯着随机字符看。