c 中輸入輸出流的格式控制符

2021-06-25 13:31:18 字數 3275 閱讀 4268

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.用流物件的成員控制輸出格式

流成員函式 與之作用相同的控制符 作用

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);

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

例#include

using namespace std;

int main()

{ int a=21;

cout.setf(ios::showbase); //設定輸出時的基數符號

cout<<"dec:"《在使用流操縱運算元時使用

03.//using namespace std;

04.

05.//以下所有的setf()都有對應的unsetf()用於取消設定

06.//所有的setiosflags()可以用resetiosflags()取消

07.//標誌位fmtflags的命名空間可以使用ios_base::或者ios::

08.

09.int laneri = 12345;

10.double lanerd = 56789;

11.

12.//1、設定整數進製輸出

13.//過載1:fmtflags ios_base::setf(fmtflags _mask);

14.//過載2:fmtflags ios_base::setf(fmtflags _mask, fmtflags _unset);

15.//使用過載1的時候,一定要先取消當前基,之後才可以設定新的基

16.//使用過載2的時候,第二個引數設為當前的基,或者當不知道當前基時,設為ios_base::basefield清除當前的所有可能的基

17.//可使用的標誌:ios::dec, ios::oct, ios::hex, ios::basefield(= dec|oct|hex)

18.cout.unsetf(ios::dec); //等價1

19.cout.setf(ios::hex);

20.cout.setf(ios::hex, ios_base::basefield); //等價2

21.cout<12

52.// 其中,當是整數且位數p大於n,無論設定showpoint與否,都四捨五入後使用科學計數法。例如:precision(3),1234->1.23e+003

53.cout.precision(3);

54.cout<1.23457e+006; 12345->12345.0; 123456->123456.

60.//  設fixed,precision(6): 1234567->1234567.000000; 12345->12345.000000; 123456->123456.000000

61.cout.setf(ios::showpoint);

62.cout<63.cout<64.

65.//7、設定螢幕上的最小顯示寬度

66.//實際字元數大於等於這個數字,顯示全部;小於這個數字,用fill()設定的字元來填充其他佔位符

68.//例如:cout<69.cout.width(12);

70.cout<71.

72.//8、顯示對齊方式,預設為左對齊

73.cout.setf(ios::right);

74.cout<75.cout<76.

77.//9、設定不足顯示寬度時的填充字元,預設為' '

78.cout.fill('*');

79.cout<

C 輸入輸出流的控制符

標頭檔案 include控制符 dec 設定基數為10 十進位制 hex 設定基數為16 oct 設定基數為8 setfill c 設定填充字元為c setprecision n 設定浮點數精度為n 有效數字位數 setw n 設定字段寬度為n setiosflags ios fixed 設定浮點數...

C 輸入輸出流中控制符的用法

如果使用了控制符,程 序開頭除了加tream 頭外,還 要加 輸入輸出流的控制符 控 制 符 作 用dec 設定整數為十進位制 hex設定整數為八進位制 oct設定整數為十六進製制 setbase n 設定整數為n進製 n 8,10,16 setfill n 設定字元填充,c可以是字元常或 字元變數...

c 標準輸入輸出流的控制符

dec 設定整數的基數為10 hex 設定整數的基數為16 oct 設定整數的基數為8 setbase n 設定整數的基數為n n只能是16,10,8之一 setfill c 設定填充字元c,c可以是字元常量或字元變數 setprecision n 設定實數的精度為n位。在以一般十進位制小數形式輸出...