C++ cout格式化輸出

表1:C++ 流操縱算子
流操縱算子 做  用
*dec 以十進制形式輸出整數 經常使用
hex 以十六進制形式輸出整數
oct 以八進制形式輸出整數
fixed 以普通小數形式輸出浮點數
scientific 以科學計數法形式輸出浮點數
left 左對齊,即在寬度不足時將填充字符添加到右邊
*right 右對齊,即在寬度不足時將填充字符添加到左邊
setbase(b) 設置輸出整數時的進制,b=八、10 或 16
setw(w) 指定輸出寬度爲 w 個字符,或輸人字符串時讀入 w 個字符
setfill(c) 在指定輸出寬度的狀況下,輸出的寬度不足時用字符 c 填充(默認狀況是用空格填充)
setprecision(n) 設置輸出浮點數的精度爲 n。

在使用非 fixed 且非 scientific 方式輸出的狀況下,n 即爲有效數字最多的位數,若是有效數字位數超過 n,則小數部分四舍五人,或自動變爲科學計 數法輸出並保留一共 n 位有效數字.

在使用 fixed 方式和 scientific 方式輸出的狀況下,n 是小數點後面應保留的位數
setiosflags (標誌) 將某個輸出格式標誌置爲 1
resetiosflags(標誌) 將某個輸出格式標誌置爲 0
boolapha 把 true 和 false 輸出爲字符串 不經常使用
*noboolalpha 把 true 和 false 輸出爲 0、1
showbase 輸出表示數值的進制的前綴
*noshowbase 不輸出表示數值的進制.的前綴
showpoint 老是輸出小數點
*noshowpoint 只有當小數部分存在時才顯示小數點
showpos 在非負數值中顯示 +
*noshowpos 在非負數值中不顯示 +
*skipws 輸入時跳過空白字符
noskipws 輸入時不跳過空白字符
uppercase 十六進制數中使用 A~E。若輸出前綴,則前綴輸出 0X,科學計數法中輸出 E
*nouppercase 十六進制數中使用 a~e。若輸出前綴,則前綴輸出 0x,科學計數法中輸出 e。
internal 數值的符號(正負號)在指定寬度內左對齊,數值右對 齊,中間由填充字符填充


表 1 中,「流操縱算子」欄中的星號*不是算子的一部分,星號表示在沒有使用任何算子的狀況下,就等效於使用了該算子。ios

 

調用cout的成員函數

ostream 類有一些成員函數,經過 cout 調用它們也能用於控制輸出的格式,其做用和流操縱算子相同,如表 2 所示。
 函數

表2:ostream 類的成員函數
成員函數 做用相同的流操縱算子
precision(n) setprecision(n)
width(w) setw(w)
fill(c) setfill (c)
setf(標誌) setiosflags(標誌)
unsetf(標誌) resetiosflags(標誌)

 

setf 和 unsetf 函數用到的「標誌」,與 setiosflags 和 resetiosflags 用到的徹底相同。spa

相關文章
相關標籤/搜索