cout用來實現格式輸出,類似於C語言中通過printf()。
cout.setf()的作用是通過設置格式標志來控制輸出形式,如,其中ios_base::fixed
表示:用正常的記數方法顯示浮點數(與科學計數法相對應);ios_base::floatfield
表示小數點后保留6位小數。
setf()函數有兩個原型:
fmtflags setf(fmtflage) //第一原型 fmtflags setf(fmtflags, fmtflags) //第二原型
原型一舉例:
cout.setf(ios_base::showpos); cout << 66 << endl; //輸出: +66
常見的標志:
boolalpha 可以使用單詞”true”和”false”進行輸入/輸出的布爾值. oct 用八進制格式顯示數值. dec 用十進制格式顯示數值. hex 用十六進制格式顯示數值. left 輸出調整為左對齊. right 輸出調整為右對齊. scientific 用科學記數法顯示浮點數. fixed 用正常的記數方法顯示浮點數(與科學計數法相對應). showbase 輸出時顯示所有數值的基數. showpoint 顯示小數點和額外的零,即使不需要. showpos 在非負數值前面顯示”+(正號)”. skipws 當從一個流進行讀取時,跳過空白字符(spaces, tabs, newlines). unitbuf 在每次插入以后,清空緩沖區. internal 將填充字符回到符號和數值之間. uppercase 以大寫的形式顯示科學記數法中的”e”和十六進制格式的”x”.
原型二:
第二原型包含兩個參數,第一個參數和第一原型里的參數一樣,第二個參數指出要清除第一參數中的哪些位。