2016-07-29 35 views
0

有没有办法指定使用变量的空格数?打印空间数量

例如可以说我有一个基本的打印语句:

printf("%5d",someNumber); 

这将打印5个空格,然后数。有没有办法让我声明变量var = 5,并使用变量来确定间距?我之所以这么问是因为我想以某种方式在循环的每次迭代格式的数据后,控制的空格数

回答

1

尝试:

printf("%*d", width, someNumber); 

您可以通过man 3 printf获取更多

+0

此格式字符串说包括数字的最小宽度是'宽度',而不是在数字之前会有'宽度'的空格。 – user3629249

0

格式字符串就是:字符串。你可以用sprintf()如建立自己的:

sprintf(frmt,"%%%dd",iterator); 

如果iterator = 3西港岛线给格式字符串"%3d"您可以在printf()使用像如:

printf(frmt,some_number); 

(发表杰西陈可变字段宽度不一定到处可用)

1

"%5d"打印至少 5个字符。首先根据需要打印领先空格,然后根据需要输入'-',然后输入数字。

要打印带至少n字符的int,使用'*',所述最小字段宽度:

printf("%*d", n, someNumber); 

要只打印n空格,使用

printf("%*s", n, "");