c 輸入輸出格式控制

2021-06-23 06:47:13 字數 3454 閱讀 4252

使用這些格式需要宣告包含

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 用來輸入字串,將字串送到乙個字元陣列中,在輸...