是否有一种方法可以使用变量指定空格数?
例如,假设我有一个基本的print语句:
printf("%5d",someNumber);这将打印5个空格,然后是数字。有没有一种方法可以让我声明一个变量var = 5,并使用一个变量来决定间距呢?我之所以问这个问题,是因为我试图控制循环每次迭代后的空格数,以便以某种方式格式化数据。
发布于 2016-07-29 02:35:45
尝试:
printf("%*d", width, someNumber);您可以通过man 3 printf找到更多信息。
发布于 2016-07-29 03:07:38
"%5d"至少打印5个字符。前导空格首先根据需要打印,然后是'-'符号,如果需要,则打印数字。
若要打印至少具有int字符的n,请使用最小字段宽度'*':
printf("%*d", n, someNumber);若要仅打印n空格,请使用
printf("%*s", n, "");发布于 2016-07-29 02:45:18
格式字符串就是:一个字符串。您可以使用sprintf()构建自己的系统,例如:
sprintf(frmt,"%%%dd",iterator);如果iterator = 3给出您可以在printf()中使用的格式字符串"%3d",例如:
printf(frmt,some_number);(陈杰西发的可变字段宽度不一定随处可见)
https://stackoverflow.com/questions/38649647
复制相似问题