C++輸入輸出流格式控制.doc_第1頁
C++輸入輸出流格式控制.doc_第2頁
C++輸入輸出流格式控制.doc_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

C+輸入輸出流格式控制1.使用控制符控制輸出格式控制符作用dec設(shè)置整數(shù)的基數(shù)為10hex設(shè)置整數(shù)的基數(shù)為16oct設(shè)置 整數(shù)的基數(shù)為8setbase(n)設(shè)置整數(shù)的基數(shù)為n(n只能是16,10,8之一)setfill(c)設(shè)置填充字符c,c可以是字符常量或字符變量setprecision(n)設(shè)置實(shí)數(shù)的精度為n位。在以一般十進(jìn)制小數(shù)形式輸出時(shí),n代表有效數(shù)字。在以fixed(固定小數(shù)位 數(shù))形式和scientific(指數(shù))形式輸出時(shí),n為小數(shù)位數(shù)。setw(n)設(shè)置字段寬度為n位。setiosflags(ios:fixed)設(shè)置浮點(diǎn)數(shù)以固定的小數(shù)位數(shù)顯示。setiosflags(ios:scientific)設(shè)置浮點(diǎn)數(shù)以科學(xué)計(jì)數(shù)法(即指數(shù)形式)顯示。setiosflags(ios:left)輸出數(shù)據(jù)左對齊。setiosflags(ios:right)輸出數(shù)據(jù)右對齊。setiosflags(ios:shipws)忽略前導(dǎo)的空格。setiosflags(ios:uppercase)在以科學(xué)計(jì)數(shù)法輸出E和十六進(jìn)制輸出字母X時(shí),以大寫表示。setiosflags(ios:showpos)輸出正數(shù)時(shí),給出“+”號(hào)。resetiosflags終止已設(shè)置的輸出格式狀態(tài),在括號(hào)中應(yīng)指定內(nèi)容。2.用流對象的 成員控制輸出格式流成員函數(shù)與之作用相同的控制符作用precision(n)setprecision(n)設(shè)置實(shí) 數(shù)的精度為n位。width(n)setw(n)設(shè)置字段寬度為n位。fill(c)setfill(c)設(shè)置填充字符c。setf( )setiosflags( )設(shè)置輸出格式狀態(tài),括號(hào)中應(yīng)給出格式狀態(tài),內(nèi)容與控制符setiosflags括號(hào)中內(nèi)容相同。ubsetf( )resetiosflags( )終止已設(shè)置的輸出格式狀態(tài)。cout.width(10);cout.setf(ios:hex);3.設(shè)置格式狀態(tài)的格式標(biāo)志格式標(biāo)志作用ios:left輸出數(shù)據(jù)在本域?qū)挿?圍內(nèi)左對齊ios:right輸出數(shù)據(jù)在本域?qū)挿秶鷥?nèi)右對齊ios:internal數(shù)值的符號(hào)位在域?qū)拑?nèi)左對齊,數(shù)值右對齊,中間由填充字符填充ios:dec設(shè)置整數(shù)的基數(shù)為10ios:oct設(shè)置整數(shù)的基數(shù)為8ios:hex設(shè)置整數(shù)的基數(shù)為16ios:showbase強(qiáng)制輸出整數(shù)的基數(shù)(八進(jìn)制以0打頭,十六進(jìn)制以0x打頭)ios:showpoint強(qiáng)制輸出浮點(diǎn)數(shù)的小點(diǎn)和尾數(shù)0ios:uppercase在以科學(xué)計(jì)數(shù)法輸出E和十六進(jìn)制輸出字母X時(shí),以大寫表示ios:showpos輸出正數(shù)時(shí),給出“+”號(hào)。ios:scientific設(shè)置浮點(diǎn)數(shù)以科學(xué)計(jì)數(shù)法(即指數(shù)形式)顯示ios:fixed設(shè)置浮點(diǎn)數(shù)以固定的小數(shù)位數(shù)顯示ios:unitbuf每次輸出后刷新所有流ios:stdio每次輸出后清除 stdout,stderr以小數(shù)形式,保留三位小數(shù)輸出:coutsetprecision(3)setiosflags(ios:fixed)3.1415926endl;C+輸出流的格式控制setw()、setfill()、setbase()、setprecision()、tellp.inline SMANIP(long) resetiosflags(long _l) return SMANIP(long)(_resetiosflags, _l); inline SMANIP(int) setfill(int _m) return SMANIP(int)(_setfill, _m); inline SMANIP(long) setiosflags(long _l) return SMANIP(long)(_setiosflags, _l); inline SMANIP(int) setprecision(int _p) return SMANIP(int)(_setprecision, _p); inline SMANIP(int) setw(int _w) return SMANIP(int)(_setw, _w); /他們都是inline 內(nèi)聯(lián)函數(shù)(1)setw(int n) 預(yù)設(shè)輸出寬度如:coutsetw(6)123endl;輸出結(jié)果為“ 123”,在123的前面會(huì)有3個(gè)空格,123右對齊。(2)setfill(char c) 預(yù)設(shè)填充字符如:coutsetfill(#)123endl;輸出顯示結(jié)果為“#123”,123右對齊,在前面填充3個(gè)# 。(3)setbase(int n) 預(yù)設(shè)整數(shù)輸出進(jìn)制如:coutsetbase(8)255endl;輸出顯示結(jié)果為377(4)setprecision(int n) 用于控制輸出流顯示浮點(diǎn)數(shù)的精度,整數(shù)n代表顯示的浮點(diǎn)數(shù)數(shù)字的個(gè)數(shù)。示例程序如下:#include #include /格式控制void main()double amount = 22.0/7;cout amount endl; /(1)cout setprecision(0) amount endl /(2)setprecision(1) amount endl /(3)setprecision(2) amount endl /(4)setprecision(3) amount endl /(5)setprecision(4) amount endl; /(6)cout setiosflags(ios:fixed);cout setprecision(8) amount endl; /(7)cout setiosflags(ios:scientific)amountendl; /(8)cout setprecision(6);第1行輸出數(shù)值之前沒有設(shè)置有效位數(shù),所以用流的有效位數(shù)默認(rèn)設(shè)置值6:第2個(gè)輸出設(shè)置了有效位數(shù)0,C+最小的有效位數(shù)為1,所以作為有效位數(shù)設(shè)置為1來看待:第36行輸出按設(shè)置的有效位數(shù)輸出。 第7行輸出是與setiosflags(ios:fixed)合用。所以setprecision(8)設(shè)置的是小數(shù)點(diǎn)后面的位數(shù),而非全部數(shù)字個(gè)數(shù)。 第8行輸出用setiosflags(ios:scientific)來表示指數(shù)表示的輸出形式。其有效位數(shù)沿用上次的設(shè)置值8。在用指數(shù)形式輸出時(shí),setprecision(n)表示小數(shù)位數(shù)。 (可是這個(gè)指數(shù)形式的輸出我用VC6沒有運(yùn)行出來)。setw(int _w)講解 setw(int _w) 輸出位寬如 setw(7) 1000 輸出結(jié)果為 1000 (緊跟三個(gè)空格)而如 setw(3) 1000 位寬小于原來的數(shù)字的位寬 那么按照原來的格式輸出1000 前后無空格setfill() 講解setfill(int _m) 隨setw(int _w)一起使用 意思是在set(int _w)設(shè)定后的空格填充指定的字符注意setfill里邊的參數(shù)是int _m 是個(gè)整

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論