CPP輸出對齊

C++在默認(rèn)輸出時,由于前個輸出的長度不是固定的,所以會出現(xiàn)輸出不對齊的情況。這種情況下有兩種方法可以解決

設(shè)置輸出的寬度cout.width(int w)

cout.width()返回當(dāng)前的字段寬度,默認(rèn)為0
如果當(dāng)前的寬度大于0,則默認(rèn)以右對齊的方式顯示輸出,但僅對下面一條cout語句起作用,而且寬度是從0

cout<<"默認(rèn)寬度大小為:"<<cout.width()<<endl;
//cout.setf(std::ios::left);//注釋后為左對齊,默認(rèn)為右對齊
for (long i = 1; i <= 100; ) {
    cout.width(5);//cout.width(5);表示第5位開始下面的輸出右對齊  
    cout << i << ':';
    cout.width(8);//表示在上一個輸出位置后8位開始右對齊
    i *= 10;
    cout <<i  << "\n";
}

上面的用法默認(rèn)是右對齊,可以指明左對齊,用法如下:

cout.setf(std::ios::left);

把這條指令放在需要左對齊的語句前即可,對于上面的代碼,取消注釋即可,結(jié)果如下:


參考https://www.cnblogs.com/hustxujinkang/p/4176191.html

setw(int w)控制寬度

setw(int w)的用法與第一種方法相似,不過這個函數(shù)是插入在cout輸出中的,不是單獨一行。
setw用法需包含iomanip頭文件

#include<iomanip>

將上面的代碼用這種方法表示的話 應(yīng)為:

for (long i = 1; i <= 100; ) {
    cout << setw(5)<< i << ':';
    i *= 10;
    cout << setw(8)<< i << endl;
}

setw的默認(rèn)對齊方式也是右對齊,在cout中加入std::left方法指明左對齊

for (long i = 1; i <= 100; ) {
    cout << left << setw(5)<< i << ':';
    i *= 10;
    cout << left << setw(8)<< i << endl;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容