c++ I/O

zhongta發表於2024-09-01

1.flush 重新整理快取,endl重新整理快取並換行
cout<<"Hello"<<fulsh;
cout<<"Wait<<endl;
2.hex,oct,dec 輸出16進位制,8進位制,10進位制
cout<<hex cout<<oct cout<<dec
3.使用width調節寬度
cout.width(12);//width函式隻影響下一個要顯示的item
4.使用fill填充字元。
C++預設使用空格填充字元。cout.fill(*) 使用星號填充
5.使用precision設定浮點數精度位數
cout.precesion(2);//預設6位,這裡設定為2位
6.ios_base
boolalpha 用true false表示輸出的bool值
showbase 用0,0x顯示輸出
showpoint 輸出小數點
uppercase 輸出數時用E代替e(浮點數)
showpos 在正數前新增+號
7.setf
cout.setf(ios_base::hex,ios_base::basefield);//注意引數順序
ios_base:basefield
(1)ios_base::dec 十進位制
(2)ios_base::oct 八進位制
(3)ios_base::hex 十六進位制
ios_base::floatfield
(1)ios_base::fixed 固定浮點數
(2)ios_base::scientific 科學計數法
ios_base::adjustfield
(1)ios_base::left左對齊
(2)ios_base::right右對齊
(3)ios_base::internal 符號左對齊,值右對齊

setf會返回舊有設定
ios_base::fmtfalgs old=cout.set(ios::left,ios_adjustfield);//新設定為左對齊,會返回old舊有設定的值
cout.set(old,ios::adjustfield);//恢復舊有設定

8.unsetf(fmflags mask);//反向操作
cout.unsetf(ios_base::boolalpha)//不用true false表示布林值

cout.setf(0,iose_base::floatfield)//恢復系統預設的浮點數顯示方式
9.iomanip標頭檔案
包含setprecision(),setfill(),setw()函式
cout<<setprecision(3)<<setfill('*')<<setw(6);//使用方式

相關文章