2013-08-30 39 views
1

我知道如何設置字段寬度,但只應用於流中的第一個元素。例如, 。使用iomanip指令

cout << setw(5) << left << '1' << '2'; 

產生

1  2 

cout << setw(5) << left << '1' << '2' << '3'; 

產生

1  23 

我如何使用了iomanip庫設置字段寬度,使之適用於所有元素 產生

1  2  3 

代替運輸及工務局局長寫的(5)如下面兩次:

cout << setw(5) << left << '1' << setw(5) << left << '2' << '3'; 
+2

也許http://www.cplusplus.com/reference/ios/ios_base/width/?只是一個猜測。 – typ1232

+0

他們至少有3種方式來做到這一點,[鏈接](http://stackoverflow.com/questions/7248627/setting-width-in-c-output-stream) – cpp

回答

0

不幸的是,沒有。幾乎每個輸出操作之前都必須使用setw()。問題是operator<<輸出後有效調用setw(0),因此您需要重新設置寬度。有關重置字段寬度的操作的完整列表,請參閱here

注意:setw只是圍繞width()包裝,所以使用後者將無濟於事。