《IO流與文件系統(tǒng)》PPT課件.ppt

上傳人:za****8 文檔編號:14649305 上傳時間:2020-07-27 格式:PPT 頁數(shù):19 大小:320.84KB
收藏 版權(quán)申訴 舉報 下載
《IO流與文件系統(tǒng)》PPT課件.ppt_第1頁
第1頁 / 共19頁
《IO流與文件系統(tǒng)》PPT課件.ppt_第2頁
第2頁 / 共19頁
《IO流與文件系統(tǒng)》PPT課件.ppt_第3頁
第3頁 / 共19頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《IO流與文件系統(tǒng)》PPT課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《IO流與文件系統(tǒng)》PPT課件.ppt(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第十一章 IO流與文件系統(tǒng),丘志杰 電子科技大學(xué) 計算機學(xué)院 軟件學(xué)院,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,2,,I/O系統(tǒng)的作用,I/O系統(tǒng)為程序與I/O設(shè)備之間進行數(shù)據(jù)交互提供了途徑。,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,3,C++為何有自己的I/O系統(tǒng),C語言的標(biāo)準(zhǔn)輸入輸出函數(shù)和只能處理基本數(shù)據(jù)類型,對用戶自定義類型無能為力。 C++可以重載輸入輸出運算符,能夠處理用戶自定義類型。 C++采用繼承方式來設(shè)計流庫,功能更強大,擴充性更好。,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,4,C++流庫的結(jié)構(gòu),C++流庫是從繼承方法建立起來的一個輸入

2、/輸出類庫,它具有兩個平行的基類,即streambuf類和ios類,所有其他的流類都是從它們直接或間接地派生出來的。 streambuf類提供對緩沖區(qū)的低級操作:,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,5,ios類及其派生類提供用戶使用流類的接口:,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,6,有關(guān)頭文件和預(yù)定義流對象,包含常用流類聲明的頭文件: iostream.h支持標(biāo)準(zhǔn)I/0操作 fstream.h 支持文件I/0操作 strstream.h 支持串I/0操作 iomanip.h支持大多數(shù)流操縱符 當(dāng)開始執(zhí)行C++程序時,有幾個自動打開的預(yù)定義流: cin標(biāo)準(zhǔn)

3、輸入 cout標(biāo)準(zhǔn)輸出 cerr不帶緩沖標(biāo)準(zhǔn)出錯信息輸出 clog帶緩沖標(biāo)準(zhǔn)出錯信息輸出,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,7,輸入和輸出,istream和ostream是用戶使用流庫的主要界面之一。 istream提供了主要的輸入操作,可以通過istream完成如下操作: 從輸入流中獲取單個字符。 從輸入流中獲取一行數(shù)據(jù)。 從輸入流中獲取指定字節(jié)數(shù)的數(shù)據(jù)。 將文件指針移動到指定位置,等等。,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,8,ostream提供了主要的輸出操作,可以通過ostream完成如下操作: 刷新輸出流。 向輸出流中寫入指定字節(jié)數(shù)的數(shù)據(jù)。 將文

4、件指針移動到指定位置,等等。 istream和ostream分別重載了和<<兩個運算符,用戶可以很方便地使用這兩個運算符對預(yù)定義類型進行輸入和輸出。用戶也可以重載這兩個運算符,從而能夠輸入和輸出自定義類的對象。,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,9,格式控制,C++提供了兩種格式控制的方法: 使用操作符 使用ios類中實現(xiàn)格式控制的成員函數(shù),2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,10,使用操作函數(shù)控制格式,C++ I/O流庫提供了一些操作符(如下表所示),可以直接嵌入到輸入/輸出語句中來實現(xiàn)特殊格式的控制。,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)

5、院,11,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,12,例子,void main() int a=100; cout<

6、 設(shè)置域?qū)?、填充字符和設(shè)置精度(width、fill、precision等),2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,14,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,15,例子,void main() int a=20; double b=111.11; cout.setf(ios::showpos|ios::scientific); cout<

7、分成ASCII文件和二進制文件兩種。 ASCII文件又稱為文本文件,它的每一個字節(jié)放一個ASCII代碼,代表一個字符,這樣便于對字符進行處理,也便于輸出,但占用存儲空間較多。 二進制文件是把內(nèi)存的數(shù)據(jù),按其在內(nèi)存中的存儲形式原樣寫到磁盤上。用二進制形式輸出數(shù)據(jù),可節(jié)省外存空間和轉(zhuǎn)換時間,但一個字節(jié)并不對應(yīng)一個字符。一般,中間結(jié)果常用二進制文件保存,以減少外存開銷。,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,17,C++中進行文件I/O的基本過程,在C++中,要進行文件的I/O,必須首先創(chuàng)建一個流,然后將這個流與文件相關(guān)聯(lián),即打開文件,此時才能進行讀/寫操作,完成后再關(guān)閉這個文件。,

8、2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,18,文件的打開和關(guān)閉,C++有三種類型的文件流:輸入文件ifstream,輸出文件流ofstream,輸入/輸出文件流fstream。這些文件流都定義在fstream.h中。 要執(zhí)行文件輸入/輸出,須做三件事: 在程序中要包含頭文件fstream.h 建立流。建立流的過程就是定義流類的對象。 使用open()函數(shù)打開文件,也就是使某一文件與上面的某一流相聯(lián)系。,2020/7/27,電子科技大學(xué)計算機學(xué)院 軟件學(xué)院,19,舉例,#include #include void main() char buf32; ifstream in; memset(buf,0,sizeof(buf)); in.open(c:test.txt,ios::in); inbuf; in.close(); ofstream out; out.open(c:test.txt,ios::out); strcat(buf,123456789); out<

展開閱讀全文
溫馨提示:
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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!