版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C++的I/O流類庫§11.1流的概念
所謂“流”是指數(shù)據(jù)的流動,即指數(shù)據(jù)從一個位置流向另一個位置。DfasdfdshfsahflaDjf;dsafjfDsfjlhkldhffffffdsffffDsfhslkglkgdsafjlsg數(shù)據(jù)iosistreamistream-withassignstdiostreamostreamifstreamistrstreamfstreamostrstreamiostreamofstreamstrstreamostream-withassignI/O流類層次圖類名說明包含文件抽象流基類ios流基類,提供關(guān)于對流狀態(tài)進行設(shè)置的功能iostream.h輸入流類istream通用輸入流類和其他輸入流的基類,提供向流中插入數(shù)據(jù)的有關(guān)操作iostream.hifstream輸入文件流類,對文件進行讀操作fstream.histream-withassigncin的輸入流類iostream.histrstream輸入字符串流類strstrea.h類名說明包含文件輸出流類ostream通用輸出流類和其他輸出流的基類,提供向流中提取數(shù)據(jù)的有關(guān)操作iostream.hofstream輸出文件流類,對文件進行寫操作fstream.hostream-withassigncout、cerr和clog的輸出類iostream.hostrstream輸出字符串流類strstrea.hI/O流類iostream通用I/O流類和其他I/O流的基類iostream.hfstreamI/O文件流類fstream.hstrstreamI/O字符串流類strstrea.hstdiostream標準I/O文件的I/O類stdiostr.h§11.2屏幕輸出操作插入符(<<)put()write()§11.2屏幕輸出操作一、使用預(yù)定義的插入符#include<iostream.h>voidmain(){
intx=90;
cout<<“x=”<<x<<endl;}
cout是ostream-withassign類的對象,是標準輸出流?!?1.2屏幕輸出操作二、使用成員函數(shù)put()輸出一個字符cout.put(‘A’);//精確的輸出一個字符cout<<‘A’;//與上同,但是可受格式化參量的影響.§11.2屏幕輸出操作二、使用成員函數(shù)put()輸出一個字符①put()的參數(shù)可以是字符變量,也可以是字符常量②put()的函數(shù)返回值是ostream類的對象,所以可以串接多個put()函數(shù)?!?1.2屏幕輸出操作三、使用成員函數(shù)write()輸出一個字符串cout.write(constchar*str,intn)
其中,str用來存放一個字符串,或一個字符串常量;n用來指定輸出字符串中字符的個數(shù)?!?1.2屏幕輸出操作三、使用成員函數(shù)write()輸出一個字符串§11.3鍵盤輸入操作提取符(>>)get()getline()read()§11.3鍵盤輸入操作一、使用預(yù)定義的提取符#include<iostream.h>voidmain(){
intx,y;
cin>>x>>endl>>y;}
cin是istream-withassign類的對象,是標準輸入流。二、使用成員函數(shù)get()獲取一個字符EOF是定義在iostream.h中的符號常量?!?1.3鍵盤輸入操作比較:使用成員函數(shù)get()與使用提取符“>>”“>>”將跳過任何空白字符(空格、tab符、backspace符和回車符,而get()不跳過空白符。三、使用成員函數(shù)getline()獲取一行字符§11.3鍵盤輸入操作cin.getline(char*buf,intn,deline=‘\n’)
其中,buf用來存放一個字符串;n用來限定讀取的字符個數(shù)不能超過n-1個;第三個參數(shù)用來限定一行字符的結(jié)束標志,默認為‘\n’。三、使用成員函數(shù)getline()獲取一行字符§11.3鍵盤輸入操作結(jié)束該函數(shù)的條件:①讀取n-1個字符之后②讀取到換行符‘\n’之后③讀取到文件結(jié)束符或其他結(jié)束符之后例:統(tǒng)計從鍵盤上輸入每一行字符的個數(shù),并從中選出最長的行的字符個數(shù),統(tǒng)計共輸入多少行。
gcount()用來返回上一次函數(shù)getline()實際讀入的字符個數(shù),包括空白符。例:統(tǒng)計從鍵盤上輸入每一行字符的個數(shù),并從中選出最長的行的字符個數(shù),統(tǒng)計共輸入多少行。四、使用成員函數(shù)read()獲取若干行字符§11.3鍵盤輸入操作cin.read(char*buf,intsize)
其中,buf用來存放一個字符串;size用來指定讀取字符的個數(shù)??梢杂胓count()來統(tǒng)計上一次read()函數(shù)讀取的字符個數(shù)。四、使用成員函數(shù)read()獲取若干行字符§11.3鍵盤輸入操作程序結(jié)束:讀入79個字符;遇到<Ctrl+Z>§11.4格式化輸入和輸出一、使用流對象的成員函數(shù)進行格式輸出1.控制格式的標志位
235頁2.設(shè)置標志字的成員函數(shù)
234頁前5個標志字:ios類中的long型數(shù)據(jù)成員,用來記錄當(dāng)前被設(shè)置的格式狀態(tài)?!?1.4格式化輸入和輸出一、使用流對象的成員函數(shù)進行格式輸出
為了使用方便,在ios類中又定義了一些靜態(tài)存儲類對象,可以簡化對數(shù)制標志位、對齊標志位、實數(shù)表示標志位的操作:staticconstlongbasefield;//值為dec/ocx/hexstaticconstlongadjustfield;//值為left/right/internalstaticconstlongfloatfield;//值為scientific/fixed§11.4格式化輸入和輸出一、使用流對象的成員函數(shù)進行格式輸出§11.4格式化輸入和輸出一、使用流對象的成員函數(shù)進行格式輸出3.控制輸出格式的成員函數(shù)
234頁后6個§11.4格式化輸入和輸出
設(shè)置浮點小數(shù)的有效數(shù)字位數(shù)不含小數(shù)點所占的一位;設(shè)置科學(xué)計數(shù)法表示的小數(shù),其有效數(shù)字是指小數(shù)點后的有效位數(shù)。width()只負責(zé)當(dāng)前輸出,完成當(dāng)前輸出后,寬度為0?!?1.4格式化輸入和輸出二、使用控制符進行格式輸出
這些格式符在文件iomanip.h中被定義,可以直接插入到流中被插入符或提取符操作,而不必單獨調(diào)用。237頁§11.4格式化輸入和輸出有些控制符沒有的功能,還需要使用成員函數(shù)的方法來提供?!?1.5文件的輸入和輸出一、文件的打開和關(guān)閉操作1.打開文件方法一fstream<對象名>;//用open()代替構(gòu)造函數(shù)<對象名>.open(“<文件名>”,<方式>);
也可寫為:fstream<對象名>(“<文件名>”,<方式>);打開文件方式:244頁§11.5文件的輸入和輸出一、文件的打開和關(guān)閉操作1.打開文件方法一例如使用寫方式打開一個文本文件file.txt
fstreamoutfile;
outfile.open(“file.txt”,ios::out);例如使用讀方式打開一個二進制文件f1.txt
fstreamoutfile(“f1.txt”,ios::in|ios::binary);
§11.5文件的輸入和輸出一、文件的打開和關(guān)閉操作2.打開文件方法二ofstream
<對象名>;<對象名>.open(“<文件名>”);也可寫為:ofstream
<對象名>(“<文件名>”);
★打開某個寫文件格式:§11.5文件的輸入和輸出一、文件的打開和關(guān)閉操作2.打開文件方法二ifstream<對象名>;<對象名>.open(“<文件名>”);也可寫為:ifstream<對象名>(“<文件名>”);
★打開某個讀文件格式:§11.5文件的輸入和輸出一、文件的打開和關(guān)閉操作3.關(guān)閉文件<流對象名>.close();//用close()代替析構(gòu)函數(shù)其中,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年職業(yè)技能生態(tài)環(huán)境監(jiān)測專業(yè)技術(shù)員知識考試題庫與答案
- 山東省濱州市(2024年-2025年小學(xué)五年級語文)人教版階段練習(xí)(上學(xué)期)試卷及答案
- 2024年教育技術(shù):20加減法的課件開發(fā)
- 《接觸網(wǎng)施工》課件 4.4.2 接觸線中心錨結(jié)安裝
- 2024年展望:未來汽車發(fā)展趨勢
- 文書模板-延遲解凍申請書
- 2023醫(yī)院衛(wèi)生院臨床技能操作手冊
- 2024年新解:復(fù)數(shù)的幾何意義
- 《壺口瀑布》教案設(shè)計:2024新思路
- 2024年春季服裝設(shè)計原理教案
- 浙江省溫州市地圖矢量PPT模板(圖文)
- 上海市建設(shè)工程項目管理機構(gòu)管理人員情況表
- 北師大版二年級數(shù)學(xué)上冊第九單元《除法》知識點梳理復(fù)習(xí)ppt
- 空氣能室外機保養(yǎng)維護記錄表
- DB37∕T 5162-2020 裝配式混凝土結(jié)構(gòu)鋼筋套筒灌漿連接應(yīng)用技術(shù)規(guī)程
- 9-2 《第三方過程評估淋蓄水檢查內(nèi)容》(指引)
- 部編版七年級初一語文上冊《狼》公開課課件(定稿)
- 2015路面工程講義(墊層+底基層+基層+面層+聯(lián)合層+封層、透層與黏層)
- 《現(xiàn)代漢語修辭》PPT課件(完整版)
- TTJCA 0007-2022 住宅室內(nèi)裝飾裝修工程施工驗收規(guī)范
- 構(gòu)造柱工程施工技術(shù)交底
評論
0/150
提交評論