C++輸入輸出流格式控制

來源:http://blog.csdn.net/virtualdesk/article/details/5355793ios

1.使用控制符控制輸出格式函數

控制符 做用
dec 設置整數的基數爲10
hex 設置整數的基數爲16
oct 設置 整數的基數爲8
setbase(n) 設置整數的基數爲n(n只能是16,10,8之一)
setfill(c) 設置填充字符c,c能夠是字符常量或字符變量
setprecision(n) 設置實數的精度爲n位。在以通常十進制小數形式輸出時,n表明有效數字。在以fixed(固定小數位 數)形式和scientific(指數)形式輸出時,n爲小數位數。
setw(n) 設置字段寬度爲n位。
setiosflags(ios::fixed) 設置浮點數以固定的小數位數顯示。
setiosflags(ios::scientific) 設置浮點數以科學計數法(即指數形式)顯示。
setiosflags(ios::left) 輸出數據左對齊。
setiosflags(ios::right) 輸出數據右對齊。
setiosflags(ios::shipws) 忽略前導的空格。
setiosflags(ios::uppercase) 在以科學計數法輸出E和十六進制輸出字母X時,以大寫表示。
setiosflags(ios::showpos) 輸出正數時,給出「+」號。
resetiosflags 終止已設置的輸出格式狀態,在括號中應指定內容。

2.用流對象的 成員控制輸出格式spa

流成員函數 與之做用相同的控制符 做用
precision(n) setprecision(n) 設置實 數的精度爲n位。
width(n) setw(n) 設置字段寬度爲n位。
fill(c) setfill(c) 設置填充字符c。
setf( ) setiosflags( ) 設置輸出格式狀態,括號中應給出格式狀態,內容與控制符setiosflags括號中內容相同。
ubsetf( ) resetiosflags( ) 終止已設置的輸出格式狀態。

cout.width(10); 
cout.setf(ios::hex);.net

3.設置格式狀態的格式標誌對象

格式標誌 做用
ios::left 輸出數據在本域寬範 圍內左對齊
ios::right 輸出數據在本域寬範圍內右對齊
ios::internal 數值的符號位在域寬內左對齊,數值右對齊,中間由填充字符填充
ios::dec 設置整數的基數爲10
ios::oct 設置整數的基數爲8
ios::hex 設置整數的基數爲16
ios::showbase 強制輸出整數的基數(八進制以0打頭,十六進制以0x打頭)
ios::showpoint 強制輸出浮點數的小點和尾數0
ios::uppercase 在以科學計數法輸出E和十六進制輸出字母X時,以大寫表示
ios::showpos 輸出正數時,給出「+」號。
ios::scientific 設置浮點數以科學計數法(即指數形式)顯示
ios::fixed 設置浮點數以固定的小數位數顯示
ios::unitbuf 每次輸出後刷新全部流
ios::stdio 每次輸出後清除 stdout,stderr

以小數形式,保留三位小數輸出: 
cout<<setprecision(3)<<setiosflags(ios::fixed)<<3.1415926<<endl;blog

相關文章
相關標籤/搜索