程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++基礎知識 >> C++文件流類與文件流對象

C++文件流類與文件流對象

編輯:C++基礎知識
文件流是以外存文件為輸入輸出對象的數據流。輸出文件流是從內存流向外存文件的數據,輸入文件流是從外存文件流向內存的數據。每一個文件流都有一個內存緩沖區與之對應。

請區分文件流與文件的概念,不用誤以為文件流是由若干個文件組成的流。文件流本身不是文件,而只是以文件為輸入輸出對象的流。若要對磁盤文件輸入輸出,就必須通過文件流來實現。

在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 時已將它和標准輸出設備(顯示器)建立關聯,而現在雖然建立了一個輸出文件流對象,但是還未指定它向哪一個磁盤文件輸出,需要在使用時加以指定。下一節即將解答這個問題。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved