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

2021-08-01 19:24:30 字數 2840 閱讀 8021

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

輸出

dec:21 (十進位制形式)

hex:oxl5 (十六進製制形式,以0x開頭)

oct:025 (八進位制形式,以o開頭)

china (域寬為10)

*****china (域寬為10,空白處以'*'填充)

pi=**

3.142857e+00 (指數形式輸出,域寬14,預設6位小數)

****3.142857 (小數形式輸㈩,精度為6,最左側輸出數符「+」)

說明:

1、成員函式width(n)和控制符setw(n)只對其後的第乙個輸出項有效。如果要求在輸出資料時都按指定的同一域寬n輸出,不能只呼叫一次width(n),而必須在輸出每一項前都呼叫一次width(n)。

2、在表5中的輸出格式狀態分為5組,每一組中同時只能選用一種(例如,dec,hex和oct中只能選一,它們是互相排斥的),在用成員函式serf和控制符setiosflags設定輸出格式狀態後,如果想改設定為同組的另一狀態,應當呼叫成員函式unsetf(對應於成員函式serf)或resetiosflags(對應於控制符sefiosflags),先終止原來設定的狀態。然後再設定其他狀態。

同理,程式倒數第8行的unsetf函式的呼叫也是不可缺少的。讀者不妨上機試一試。

3、用serf函式設定格式狀態時,可以包含兩個或多個格式標誌,由於這些格式標誌在los類中被定義為列舉值,每乙個格式標誌以乙個二進位代表,因此可以用「位或」運算子「i」組合多個格式標誌

4、可以看到:對輸出格式的控制,既可以用控制符(如例2),也可以用cout流的有關成員函式(如例3),二者的作用是相同的。控制符是在標頭檔案mmamp中定義的,因此用控制符時,必須包含iomanip標頭檔案。cout流的成員函式是在標頭檔案iostream中定義的,因此只需包含標頭檔案iostream,不必包含iomanip。許多程式人員感到使用控制符方便簡單,可以在乙個cout輸出語句中連續使用多種控制符。

5、關於輸山格式的控制,在使用中還會遇到一些細節問題,不可能在這裡全部涉及。在遇到問題時,請查閱專門手冊或上機試驗一下即可解決。

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 中輸入輸出流的格式控制符

1.使用控制符控制輸出格式 控制符 作用 dec 設定整數的基數為10 hex 設定整數的基數為16 oct 設定整數的基數為8 setbase n 設定整數的基數為n n只能是16,10,8之一 setfill c 設定填充字元c,c可以是字元常量或字元變數 setprecision n 設定實數...