輸入輸出流與流類庫.ppt

輸入輸出流與流類庫.ppt

ID:49499585

大小:2.20 MB

頁數(shù):99頁

時間:2020-02-06

輸入輸出流與流類庫.ppt_第1頁
輸入輸出流與流類庫.ppt_第2頁
輸入輸出流與流類庫.ppt_第3頁
輸入輸出流與流類庫.ppt_第4頁
輸入輸出流與流類庫.ppt_第5頁
資源描述:

《輸入輸出流與流類庫.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、第二章輸入輸出流與流類庫*2/99本章主要內(nèi)容流的定義、C++的預(yù)定義流標(biāo)準(zhǔn)輸入輸出的預(yù)定義流對象cin、cout、cerr和clog格式化的I/O輸入流/輸出流專門操作文件與文件流文件操作:打開和關(guān)閉、文件的定位與隨機存取、文件的讀寫*3/99I/O流的概念當(dāng)程序與外界環(huán)境進(jìn)行信息交換時,存在著兩種對象,一種是程序中的對象,另一種是文件對象。流是一種抽象,它負(fù)責(zé)在數(shù)據(jù)的生產(chǎn)者和數(shù)據(jù)的消費者之間建立聯(lián)系,并管理數(shù)據(jù)的流動。把數(shù)據(jù)的流動稱為流。流在使用前要被建立,使用后要被刪除,還要使用一些特定的操作

2、,從流中獲取數(shù)據(jù)或向流中添加數(shù)據(jù)。讀操作在流數(shù)據(jù)抽象中被稱為(從流中)提取,即輸出,寫操作被稱為(向流中)插入,即輸入。程序建立一個流對象,并指定這個流對象與某個文件對象建立連接,程序操作流對象,流對象通過文件系統(tǒng)對所連接的文件對象產(chǎn)生作用。*4/99iostream類庫概述輸入/輸出操作在C和C++中沒有定義,所有的C++編譯器綁定了iostream類,用于I/O操作。在iostream類中,“流(stream)”是其核心概念。我們可以認(rèn)為流對象就象一個“杰出的文件”,是字節(jié)數(shù)據(jù)出入的源和目的地。

3、*5/99iostream類庫中各類間的關(guān)系圖iostream類庫概述*6/99ios類ios類用來提供流的高級I/O操作。它是一個虛基類。提供輸入輸出所需的公共操作。ios類包含一個指向streambuf的指針,提供格式化標(biāo)志進(jìn)行格式化I/O處理,對I/O的錯誤處理,設(shè)置文件模式以及提供建立相關(guān)流的方法。iostream類庫概述*7/99streambuf類streambuf類主要負(fù)責(zé)緩沖區(qū)的處理。它提供對緩沖區(qū)的低級操作,如設(shè)置緩沖區(qū),對緩沖區(qū)指針進(jìn)行操作,從緩沖區(qū)提取字節(jié),向緩沖區(qū)插入字節(jié)等f

4、ilebuf,strstreambuf和stdiobuf都是streambuf的派生類filebuf提供文件緩沖區(qū)的管理strstreambuf使用字符串保存字符序列,提供在內(nèi)存中提取和插入操作的緩沖區(qū)管理stdiobuf提供標(biāo)準(zhǔn)I/O文件的緩沖區(qū)管理iostream類庫概述*8/99ostream類及其派生類提供流的各種格式化、非格式化操作,對所有系統(tǒng)預(yù)定義的輸出流重載運算符“<<”。它有3個派生類:ofstream文件輸出流類ostrstream串輸出流類ostream_withassign為標(biāo)

5、準(zhǔn)輸出流cout,cerr,clog定義的輸入流類,重載了賦值運算符iostream類庫概述ostream類及其派生類*9/99istream類及其派生類提供流的大部分輸入操作。主要有對streambuf進(jìn)行插入時格式化、非格式化的轉(zhuǎn)換,并對所有系統(tǒng)預(yù)定義的輸入流重載運算符“>>”,它有3個派生類:ifstream文件輸入流類,用于對文件的提取操作istrstream串輸出流類,用于對字符串的提取操作istream_withassign為標(biāo)準(zhǔn)輸入流cin定義的輸入流類,重載了賦值運算符。iostre

6、am類庫概述istream類及其派生類*10/99iostream由istream和ostream派生而來,綜合了流的輸入輸出操作。它有3個派生類:文件輸入輸出流類fstream串輸入輸出流類strstream標(biāo)準(zhǔn)輸入輸出流類stdiostreamios類中的很多操縱符(以一個流引用作為其參數(shù),并返回同一流的引用,故它可以嵌入到輸入/輸出操作的鏈中)都可以應(yīng)用于輸入流。操作符是在頭文件iostream.h中定義的,而操作函數(shù)是在iomanip.h中定義。iostream類庫概述輸入輸出流類iostr

7、eam*11/99屏幕輸出方法1:輸出流使用預(yù)定義的插入(<<)運算符(ostream類中定義的運算符),是所有標(biāo)準(zhǔn)C++數(shù)據(jù)類型預(yù)先設(shè)計的最重要的三個輸出流是ostreamofstreamostringstream屏幕輸出和鍵盤輸入*12/99屏幕輸出預(yù)先定義的輸出流對象:cout標(biāo)準(zhǔn)輸出cerr標(biāo)準(zhǔn)錯誤輸出,沒有緩沖,發(fā)送給它的內(nèi)容立即被輸出。clog類似于cerr,但是有緩沖,緩沖區(qū)滿時被輸出。屏幕輸出和鍵盤輸入*13/99屏幕輸出格式:ostream&operator<<(charch);o

8、stream&operator<<(unsignedcharuch);ostream&operator<<(signedcharsch);ostream&operator<<(constchar*psz);ostream&operator<<(constunsignedchar*pusz);ostream&operator<<(constsignedchar*pssz);ostream&operator<<(shorts);ostream&operator<<(uns

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。