輸入輸出流物件

2021-08-02 11:03:33 字數 1818 閱讀 9782

輸入的方式有很多,但是最常用的方式是通過檔案進行輸入;同理,輸出流通常也就輸出到檔案中進行儲存。

c++的輸入與輸出包括:

1. 對系統指定的標準裝置的輸入-----------標準i/o:鍵盤與顯示器

2. 以外存磁碟檔案為物件的輸入和輸出--------檔案i/o:檔案 。作業系統中將裝置也當做檔案,所以這個方式也可以對裝置進行操作。

3. 對記憶體中指定的空間進行的輸入和輸出---------串i/o:計算機中執行的兩個程式之間,記憶體塊之間通訊,不需要外部介質,直接進行通訊。

輸入輸出「流」:若干個位元組組成的位元組序列。流表示資訊從源到目的端的流動。

為了實現資料的有效流動,c++中有很多類庫,呼叫不同的類去實現不同的功能。頂層類為ios,派生出istream,ostream,這兩個類派生出iostream。等等。

與iostream類庫有關的標頭檔案:

標頭檔案是程式與類庫的介面,iostream類庫的介面分別由不同的標頭檔案來實現。

常用的標頭檔案:

iostream:包含對輸入輸出流進行操作的基本資訊

fstream:用於使用者管理的檔案的i/o

strstream:用於字串流i/o

stdiostream :用於混合使用c和c++的i/o機制

iomanip:使用格式化i/o時應包含此標頭檔案

iostream標頭檔案中對《和》進行了過載,用於標準型別資料的輸入和輸出。在istream和ostream類中對位移運算子進行過載,定義為ostream和istream

類的成員函式,而不是我們自己定義過載時只能是友元函式,比如:

ostream operator<

ostream operator<

在iostream標頭檔案中定義了4個重要流物件,可以看做系統自動提供的:

cin:從標準輸入裝置(鍵盤)輸入到記憶體的資料流物件

cout:從記憶體輸出到標準輸出裝置(顯示器)的資料流物件

cerr和clog--------向輸出裝置(顯示器)輸出出錯資訊

理解:資料流對應緩衝區

在記憶體中為每乙個資料流開闢乙個記憶體緩衝區:

在包含程式資料區的記憶體中,針對要輸入和輸出的每乙個檔案會專門開闢一段輸出檔案緩衝區和輸入檔案緩衝區。也就是說程式資料區和檔案或者裝置之間還有一段緩衝區。

在記憶體中為每乙個資料流開闢乙個記憶體緩衝區。

緩衝區用來存放流中的資料,緩衝區中的資料就是流。

c++中輸入輸出流被定義為類,c++中的i/o庫中的類被稱為流類。

例子:for(int i=0;i<5;i++)

上面這段**可以將檔案中的除了空格以外的字元都讀出來。

上面的函式中,peek和putback都是對緩衝區進行操作,輸入流就相當於緩衝區。

輸入輸出流

c 通過以下幾個類支援檔案的輸入和輸出 ofstream寫操作的檔案類由ostream引申而來 ifstream讀操作的檔案類由istream引申而來 fstream可同時讀寫操作的檔案類由iostream引申而來 ifstream in tian.txt 開啟乙個檔案 ifstream in in...

輸入輸出流

預定義流類的物件與通用的流運算子 1 cin 2 cout 3 cerr是ostream類物件,在標準輸出裝置上顯示錯誤資訊 不帶緩衝,立即顯示 輸入輸出流 ostream 和 ofstream istream 和 ifstream fstream 定義檔案輸出流物件 fstream outfile...

輸入輸出流

流 按照方向分為 輸入流和輸出流。以記憶體為參照物將資料從資料來源中讀取到記憶體,為輸入流,也叫讀取流。將資料從記憶體中寫入資料來源,為輸出流,也稱為寫入流 流按照型別分 分為位元組流,字元流和物件流。由於計算機採用二進位制,所有資料的傳輸都是以位元組為單位傳輸。所以無論是那種流,其本質都是位元組流...