版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+程序設(shè)計(jì)新世紀(jì)應(yīng)用型高等教育教材編審委員會(huì) 組編主編 羅燁 李秉璋第二版新世紀(jì)應(yīng)用型高等教育軟件專業(yè)系列規(guī)劃教材第1頁(yè),共24頁(yè)。第9章 流類庫(kù)與輸入/輸出第2頁(yè),共24頁(yè)。9.1 流的概念3操作系統(tǒng)是將鍵盤、屏幕、打印機(jī)和通信端口等設(shè)備作為擴(kuò)充文件來(lái)處理的。從C+程序員角度來(lái)看,這些設(shè)備與磁盤文件并無(wú)區(qū)別,與這些設(shè)備的交互也是通過(guò)I/O流來(lái)實(shí)現(xiàn)的。在C+中,I/O可以分為:面向標(biāo)準(zhǔn)設(shè)備的I/O、面向文件的I/O、面向字符串的I/O三類。面向標(biāo)準(zhǔn)設(shè)備的I/O是指程序從標(biāo)準(zhǔn)輸入設(shè)備鍵盤獲取數(shù)據(jù),把程序中的數(shù)據(jù)輸出至標(biāo)準(zhǔn)輸出設(shè)備顯示器;面向文件的I/O是指程序從外存儲(chǔ)器的文件中獲取數(shù)據(jù),把數(shù)據(jù)
2、保存到外存儲(chǔ)器的文件中;面向字符串的I/O是指從程序的字符串變量中獲取數(shù)據(jù),把數(shù)據(jù)保存到字符串變量中。本章將介紹這三種I/O。第3頁(yè),共24頁(yè)。9.2 C+的基本流類體系4C+的流類庫(kù)是用繼承方式建立的一個(gè)I/O類庫(kù),由抽象類ios及其派生類構(gòu)成ios類體系,共同完成I/O操作。ios類的體系結(jié)構(gòu)如圖9-1所示。9.2.1 流類庫(kù)第4頁(yè),共24頁(yè)。9.2 C+的基本流類體系5在C+的流類庫(kù)中定義了4個(gè)全局文本流對(duì)象:cin、cout、cerr和clog。使用這4個(gè)流對(duì)象可以完成基本人機(jī)交互功能。其中cin是istream類的實(shí)例,稱為標(biāo)準(zhǔn)輸入流(對(duì)象),以鍵盤為其對(duì)應(yīng)的標(biāo)準(zhǔn)設(shè)備,通過(guò)流提取運(yùn)算
3、符,可以從鍵盤上輸入數(shù)據(jù)。cout是ostream類的實(shí)例,稱為標(biāo)準(zhǔn)輸出流(對(duì)象),以顯示器為標(biāo)準(zhǔn)設(shè)備。通過(guò)流插入運(yùn)算符,可以將數(shù)據(jù)輸出至顯示器。cerr、clog稱為標(biāo)準(zhǔn)錯(cuò)誤輸出流。標(biāo)準(zhǔn)錯(cuò)誤輸出設(shè)備也是顯示器。9.2.2 標(biāo)準(zhǔn)流對(duì)象第5頁(yè),共24頁(yè)。9.3 標(biāo)準(zhǔn)設(shè)備的輸入/輸出6istream類提供了格式化和非格式化的輸入功能。最常用的輸入方法是在標(biāo)準(zhǔn)輸入流對(duì)象cin上使用提取運(yùn)算符“”輸入數(shù)據(jù)。格式如下:9.3.1 輸入流第6頁(yè),共24頁(yè)。9.3 標(biāo)準(zhǔn)設(shè)備的輸入/輸出7ostream類提供了格式和非格式的輸出功能。最常用的輸出方法是在標(biāo)準(zhǔn)輸出流對(duì)象cout上使用插入運(yùn)算符“”輸出數(shù)據(jù)。格式
4、如下:插入運(yùn)算符“”可以接受任何表達(dá)式,包括函數(shù)調(diào)用,只要其結(jié)果是能被插入運(yùn)算符接受的數(shù)據(jù)。輸出流對(duì)象cout將數(shù)據(jù)從C+機(jī)內(nèi)格式轉(zhuǎn)換成文本格式后,輸出至標(biāo)準(zhǔn)輸出流對(duì)象。插入運(yùn)算符返回cout流對(duì)象的引用,所以插入運(yùn)算符也可以連用。9.3.2 輸出流第7頁(yè),共24頁(yè)。9.3 標(biāo)準(zhǔn)設(shè)備的輸入/輸出81.輸入流成員函數(shù)9.3.3 標(biāo)準(zhǔn)輸入/輸出流成員函數(shù)第8頁(yè),共24頁(yè)。9.3 標(biāo)準(zhǔn)設(shè)備的輸入/輸出9進(jìn)行I/O操作時(shí),可能會(huì)發(fā)生各種錯(cuò)誤。特別是從輸入流中提取數(shù)據(jù),出現(xiàn)流錯(cuò)誤的可能性較大,例如輸入數(shù)據(jù)的類型、遇到文件結(jié)束等。程序需要檢測(cè)這些錯(cuò)誤,并做相應(yīng)的處理。為了檢測(cè)出數(shù)據(jù)流產(chǎn)生的各種錯(cuò)誤,提高程
5、序的健壯性,在ios類中有一個(gè)稱為流錯(cuò)誤狀態(tài)字的保護(hù)型整數(shù)state,用該整數(shù)的若干二進(jìn)制位保存流的當(dāng)前狀態(tài)。9.3.4 數(shù)據(jù)流的錯(cuò)誤檢測(cè)第9頁(yè),共24頁(yè)。9.3 標(biāo)準(zhǔn)設(shè)備的輸入/輸出109.3.4 數(shù)據(jù)流的錯(cuò)誤檢測(cè)第10頁(yè),共24頁(yè)。*9.4 流的格式控制111.格式狀態(tài)字9.4.1 使用ios類的格式控制函數(shù)第11頁(yè),共24頁(yè)。*9.4 流的格式控制121.格式狀態(tài)字9.4.1 使用ios類的格式控制函數(shù)第12頁(yè),共24頁(yè)。*9.4 流的格式控制132.格式控制函數(shù)9.4.1 使用ios類的格式控制函數(shù)第13頁(yè),共24頁(yè)。*9.4 流的格式控制142.格式控制函數(shù)9.4.1 使用ios類的
6、格式控制函數(shù)第14頁(yè),共24頁(yè)。*9.4 流的格式控制159.4.2 使用預(yù)定義的操作子第15頁(yè),共24頁(yè)。*9.4 流的格式控制169.4.2 使用預(yù)定義的操作子第16頁(yè),共24頁(yè)。9.5 文件的輸入/輸出179.5.1 文件的基本概念C+把文件看成一個(gè)有序的字節(jié)流,稱為流式文件。文件操作前,要打開文件。文件打開后,該文件就和程序中的文件流對(duì)象建立了關(guān)聯(lián)。在程序中就通過(guò)該文件流對(duì)象對(duì)打開的文件進(jìn)行讀/寫操作。第17頁(yè),共24頁(yè)。9.5 文件的輸入/輸出189.5.2 文件的操作步驟在C+中使用文件的步驟是固定的:(1)建立一個(gè)文件流對(duì)象;(2)打開文件,將文件流對(duì)象和要處理的外存儲(chǔ)器上的文件
7、建立關(guān)聯(lián);(3)讀寫文件,通過(guò)流對(duì)象的成員函數(shù)或插入/提取運(yùn)算符完成對(duì)文件的讀寫;(4)關(guān)閉文件,當(dāng)不再使用文件時(shí),要通過(guò)關(guān)閉文件流對(duì)象,解除文件流對(duì)象與文件的關(guān)聯(lián)。之后該文件流對(duì)象還可以繼續(xù)與其他文件建立關(guān)聯(lián)。第18頁(yè),共24頁(yè)。9.5 文件的輸入/輸出199.5.2 文件的操作步驟1.建立一個(gè)文件流對(duì)象使用文件前,必須先建立文件流類對(duì)象。建立文件流對(duì)象的語(yǔ)法形式為:第19頁(yè),共24頁(yè)。9.5 文件的輸入/輸出209.5.2 文件的操作步驟4.關(guān)閉文件文件操作結(jié)束后,要顯式關(guān)閉該文件。其語(yǔ)法形式為:第20頁(yè),共24頁(yè)。9.5 文件的輸入/輸出219.5.4 二進(jìn)制文件的讀/寫1.使用get和put函數(shù)讀寫任意格式的文件2.使用read和write函數(shù)成組讀寫第21頁(yè),共24頁(yè)。9.5 文件的輸入/輸出229.5.5 二進(jìn)制文件的隨機(jī)讀寫第22頁(yè),共24頁(yè)。*9.6 字符串流的輸入/輸出239.5.5 二進(jìn)制文件的隨機(jī)讀寫串流類包括輸入字符串流類istrstream、輸出字符串流類ostrstream、字符串流類strstream。由于字符串流對(duì)象關(guān)聯(lián)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度農(nóng)機(jī)購(gòu)置與農(nóng)村土地流轉(zhuǎn)支持合同3篇
- 二零二五年度農(nóng)村土地經(jīng)營(yíng)流轉(zhuǎn)與農(nóng)村電商合作合同
- 2025年度醫(yī)療機(jī)構(gòu)執(zhí)業(yè)藥師聘用合同及藥品安全風(fēng)險(xiǎn)評(píng)估及防控協(xié)議3篇
- 2025年度智慧家居系統(tǒng)預(yù)付款合作合同3篇
- 二零二五年度合同公司管理制度與員工福利保障協(xié)議3篇
- 2024年中國(guó)白色雙聯(lián)龍頭市場(chǎng)調(diào)查研究報(bào)告
- 2025年度公司員工試用期試用期員工勞動(dòng)合同續(xù)簽及變更協(xié)議3篇
- 2024年中國(guó)瓷必凈市場(chǎng)調(diào)查研究報(bào)告
- 二零二五年度廢棄電子元件回收與貴金屬提煉合同范本3篇
- 二零二五年度企業(yè)法人變更合同審查與合同糾紛預(yù)防協(xié)議3篇
- 2024年天津市中考英語(yǔ)試題卷(含答案)
- 2024-2034年中國(guó)皮帶輸送機(jī)托輥行業(yè)發(fā)展趨勢(shì)及投資前景預(yù)測(cè)報(bào)告
- FZ∕T 73037-2019 針織運(yùn)動(dòng)襪行業(yè)標(biāo)準(zhǔn)
- (圖文并茂)綠化工程施工組織設(shè)計(jì)
- MOOC 生物醫(yī)學(xué)傳感器與測(cè)量-山東大學(xué) 中國(guó)大學(xué)慕課答案
- 上海市民辦華育中學(xué)2022-2023學(xué)年六年級(jí)上學(xué)期期末科學(xué)試卷
- 導(dǎo)診服務(wù)意識(shí)課件培訓(xùn)總結(jié)
- 成人用品行業(yè)分析
- 幼兒園領(lǐng)域課程指導(dǎo)叢書:幼兒園美術(shù)領(lǐng)域教育精要關(guān)鍵經(jīng)驗(yàn)與
- 投標(biāo)人資格審查表(范本)
- eva乳液工藝流程
評(píng)論
0/150
提交評(píng)論