close

按此前往C++完整教學目錄

 

 

輸出的排版:

(1)利用cout.width(n);,可以預留n的空格的版面空間,使得下一次使用cout<<的輸出對象在此n格版面空間向右對齊。若n小於輸出對象所佔的版面空間,則不執行排版。又,一個英文字母或數字佔一個版面空間,一個中文字佔兩個版面空間。程式碼例如:

string a="111";

string b="222";

cout<<a;  //顯示111

cout.width(5);  //在顯示111後,預留5個版面空間。

cout<<b;    //222在預留的版面空間中向右對齊。現在整個螢幕顯示111  222

若要使預留的版面空間以特定字元顯示而非空白字元,則可以利用成員函式fill(特定字元),如:

cout.fill(‘*’);  //設要顯示的特定字元為 *

string a="111";

string b="222";

cout<<a; 

cout.width(5); 

cout<<b;  //整個螢幕顯示111**222

註:cout.width();只會影響在此行程式碼後的第一個cout<<輸出,若想要讓其他cout<<輸出也有此排版功能,則在其之前也要加上cout.width();

(2)利用換行字元’\t’

程式碼例如:

cout<<"aa\t"<<"bbb"<<endl;

cout<<"aaaaaa\t"<<"bbb"<<endl;

cout<<"aaaaaaaa\t"<<"bbb"<<endl;

顯示如下:

aa      bbb

aaaaaa  bbb

aaaaaaaa        bbb

也就是說,任何字串在加了\t之後,會被放在一個8個空格寬度」的預留空間,若字串寬度為n個空格寬度,且n<8,則會在此字串之後顯示8-n個空格。若n>8*k(k=1,2,3,4,5……),則在此字串之後顯示8*(k+1)-n個空格。

 

 

上一篇:檔案讀寫 控制參數

下一篇:檔案管理 輸出排版(2)

arrow
arrow

    埃伯 發表在 痞客邦 留言(0) 人氣()