2016-07-29 39 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, "");