當您在C中使用printf
將標籤字符打印到標準輸出時,它會輸出一些明顯長度爲4個字符的空格。printf t選項
printf("\t");
有沒有什麼辦法可以控制上述情況下的標籤寬度?任何幫助或建議表示讚賞。
當您在C中使用printf
將標籤字符打印到標準輸出時,它會輸出一些明顯長度爲4個字符的空格。printf t選項
printf("\t");
有沒有什麼辦法可以控制上述情況下的標籤寬度?任何幫助或建議表示讚賞。
一個選項卡是一個選項卡。它消耗多少空間是一個顯示問題,並取決於你的shell的設置。
如果要控制數據的寬度,則可以使用printf
格式字符串中的width
子分類符。例如。 :
printf("%5d", 2);
這不是一個完整的解決方案(如果該值超過5個字符長,它不會截斷),但可能是好的爲您的需求。
如果你想完全控制,你可能必須自己實現它。
這是由您的終端控制的東西,而不是printf
。
printf
只是發送一個\t
到輸出流(可以是一個tty,一個文件等),它不會發送多個空格。
+1,在我看來,這比我們接受的答案要合適得多。 –
其實對於字符串,你可以得到截斷:'printf(「%5.5s」,「abcdefg」);'將輸出「abcde」。如果你總是希望在字符串少於5個字符的情況下將輸出左對齊,使用'「%-5.5s」' – proFromDover
@proFromDover:如果你可以限制你自己的字符串,沒關係,是的。 –