使用這些格式需要宣告包含
long flags( ) const 返回當前的格式標誌。
long flays(long newflag) 設定格式標誌為newflag,返回舊的格式標誌。
long setf(long bits) 設定指定的格式標誌位,返回舊的格式標誌。
long setf(long bits,long field)將field指定的格式標誌位置為bits,返回舊的格式標誌
long unsetf(long bits) 清除bits指定的格式標誌位,返回舊的格式標誌。
long fill(char c) 設定填充字元,預設條件下是空格。
char fill( ) 返回當前填充字元。
int precision(int val) 設定精確度為val,控制輸出浮點數的有效位,返回舊值。
int precision( ) 返回舊的精確度值。
int width(int val) 設定顯示資料的寬度(域寬),返回舊的域寬。
int width( )只返回當前域寬,預設寬度為0。這時插入操作能按表示資料的最小寬度顯示資料
dec 十進位制的輸入輸出
hex 十六進製制的輸入輸出
oct 八進位制的輸入輸出
ws 提取空白字元
flush 重新整理流
resetiosflags(long) 請除特定的格式標誌位
setiosflags(long) 設定特定的格式標誌位
setfill(char) 設定填充字元
setprecision(int) 設定輸出浮點數的精確度
setw(int) 設定域寬格式變數
c++輸入輸出流格式控制
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
以小數形式,保留三位小數輸出:
cout<
#include //格式控制
void main()
第1行輸出數值之前沒有設定有效位數,所以用流的有效位數預設設定值6:第2個輸出設定了有效位數0,c++最小的有效位數為1,所以作為有效位數設定為1來看待:第3~6行輸出按設定的有效位數輸出。 第7行輸出是與setiosflags(ios::fixed)合用。所以setprecision(8)設定的是小數點後面的位數,而非全部數字個數。 第8行輸出用setiosflags(ios::scientific)來表示指數表示的輸出形式。其有效位數沿用上次的設定值8。在用指數形式輸出時,setprecision(n)表示小數字數。 (可是這個指數形式的輸出我用vc6沒有執行出來)。
setw(int _w)講解
<< setw(int _w) << 輸出位寬
如<< setw(7) << 1000 輸出結果為 "1000 "(緊跟三個空格)
而如<< setw(3) << 1000 位寬小於原來的數字的位寬 那麼按照原來的格式輸出"1000" 前後無空格
setfill() 講解
setfill(int _m) 隨setw(int _w)一起使用 意思是在set(int _w)設定後的空格填充指定的字元
注意setfill裡邊的引數是int _m 是個整數 所以 如果我們要用空格來填充*號的時候
要使用setfill('*')[字元] 而不是setfill(*)
c++中tellp()函式與tellg()函式
tellp()函式用來獲取「輸出指標」的當前位置(從檔案首到當前位置的位元組數);
tellg()函式用來獲取「讀入指標」的當前位置(從檔案首到當前位置的位元組數)。
C 標準輸入輸出格式控制(進製)
從 2057題說起 能使輸出的十六進製制字母變成大寫 uppercase變成lowercase,大寫變小寫 include include using namespace std int main cout 總結 1 數的進製 預設進製 預設狀態下,資料按十進位制輸入輸出。如果要求按八進位制或十六進...
C語言輸入輸出格式
c 字元 d 有符號十進位制整數 f 浮點數 o 八進位制整數 x 十六進製制整數 s 字串 m指定資料寬度,n指定小數字數 例 include 指定資料寬度為20位,小數字數15位,可以看出,整數部分33前面還有兩個空格。算上小數點一共是20個位置。另 在用 f輸出時要注意資料本身能提供的有效數字...
c語言中輸入輸出格式的控制
一 輸入格式的控制 scanf函式中格式字元 1 d,i 用來輸入有符號的十進位制中 2 u 用來輸入無符號的十進位制整數 3 o 用來輸入無符號的八進位制整數 4 x,x 用來輸入無符號的十六進製制整數 大小寫作用相同 5 c 用來輸入單個符號 6 s 用來輸入字串,將字串送到乙個字元陣列中,在輸...