檔案流是以外存檔案為輸入輸出物件的資料流。輸出檔案流是從記憶體流向外存檔案的資料,輸入檔案流是從外存檔案流向記憶體的資料。每乙個檔案流都有乙個記憶體緩衝區與之對應。
請區分檔案流與檔案的概念,不用誤以為檔案流是由若干個檔案組成的流。檔案流本身不是檔案,而只是以檔案為輸入輸出物件的流。若要對磁碟檔案輸入輸出,就必須通過檔案流來實現。
在c++的i/o類庫中定義了幾種檔案類
,專門用於對磁碟檔案的輸入輸出操作。在 圖13.2(詳情請檢視:與c++輸入輸出有關的類和物件)中可以看到除了標準輸入輸出流類istream、ostream和iostream類外,還有3個用於檔案操作的檔案類:
ifstream類,它是從istream類派生的,用來支援從磁碟檔案的輸入。
ofstream類,它是從ostream類派生的,用來支援向磁碟檔案的輸出。
fstream類,它是從iostream類派生的,用來支援對磁碟檔案的輸入輸出。
要以磁碟檔案為物件進行輸入輸出,必須定義乙個檔案流類的物件,通過檔案流物件將資料從記憶體輸出到磁碟檔案,或者通過檔案流物件從磁碟檔案將資料輸入到記憶體。
其實在用標準裝置為物件的輸入輸出中,也是要定義流物件的,如cin、cout就是流物件,c++是通過流物件進行輸入輸出的。由於cin、cout已在iostream.h中事先定義,所以使用者不需自己定義。在用磁碟檔案時,由於情況各異,無法事先統一定義,必須由使用者自己定義。此外,對磁碟檔案的操作是通過檔案流物件(而不是cin和cout)實現的。檔案流物件是用檔案流類定義的,而不是用istream和ostream類來定義的。可以用下面的方法建立乙個輸出檔案流物件:
ofstream outfile;
如同在標頭檔案iostream中定義了流物件cout —樣,現在在程式中定義了outfile為 ofstream類(輸出檔案流類
)的物件。但是有乙個問埋還未解決:在定義 cout 時已將它和標準輸出裝置(顯示器)建立關聯,而現在雖然建立了乙個輸出檔案流物件,但是還未指定它向哪乙個磁碟檔案輸出,需要在使用時加以指定。下一節即將解答這個問題。
C 檔案流類與檔案流物件具體介紹
檔案流是以外存檔案為輸入輸出物件的資料流。輸出檔案流是從記憶體流向外存檔案的資料,輸入檔案流是從外存檔案流向記憶體的資料。每乙個檔案流都有乙個記憶體緩衝區與之對應。請區分檔案流與檔案的概念,不用誤以為檔案流是由若干個檔案組成的流。檔案流本身不是檔案,而只是以檔案為輸入輸出物件的流。若要對磁碟檔案輸入...
c 的IO流 檔案流物件
1 c語言的輸入輸出 c語言常用scanf 從標準輸入讀取資料,並將其存放至變數 printf 將指定文字 字串輸出到標準輸出裝置,設定輸出寬度和精度 輸入輸出緩衝區 1 遮蔽低階io實現 2 可實現行讀取 2 c 的io流 1 流,是是對一種有序連續且具有方向性的資料 其單位可以bit,byte,...
C 檔案流 FileStream類
filestream類 檔案流 類用於讀寫檔案中的資料,它既支援同步讀寫操作,也支援非同步讀寫操作。使用檔案流可以對檔案進行讀取 寫入 開啟和關閉操作,以及系統相關操作的標準輸入 標準輸出等。filestream類包括9個屬性,它們可以描述filestream類的例項的特性,如流的長度 以位元組為單...