此篇文章只是簡要介紹c++中文件輸入輸出的基本步驟,詳細情況請看附加的鏈接
1. 文件流和文件流對象
1) 文件流
Ø 文件流是以外存文件爲輸入輸出對象的數據流。輸出文件流是從內存流向外存文件的數據,輸入文件流是從外存文件流向內存的數據。每一個文件流都有一個內存緩衝區與之對應。
Ø 請區分文件流與文件的概念。文件流本身不是文件,而只是以文件爲輸入輸出對象的流。若要對磁盤文件輸入輸出,就必須通過文件流來實現。
Ø 文件流類:專門用於對磁盤文件的輸入輸出操作
i. ifstream類,它是從istream類派生的。 用來支持從磁盤文件的輸入。
ii. ofstream類,它是從ostream類派生的。 用來支持向磁盤文件的輸出。
iii. fstream類,它是從iostream類派生的。 用來支持對磁盤文件的輸入輸出。
2) 文件流對象
Ø 定義:用文件流類定義的對象稱爲文件流對象。
Ø 作用:要以磁盤文件爲對象進行輸入輸出,必須定義一個文件流類的對象,通過文件流對象將數據從內存輸出到磁盤文件,或者通過文件流對象從磁盤文件將數據輸入到內存。
其實在用標準設備爲對象的輸入輸出中,也是要定義流對象的,如cin,cout就是流對象。cin,cout已在iostream.h中事先定義,而在用磁盤文件時,由於情況各異,文件流對象無法事先統一定義,必須由用戶自己定義。
2. 使用文件流的基本步驟
1) 打開一個文件,其目的是將一個文件流對象與某個磁盤文件聯繫起來
2) 使用文件流對象的成員函數,將數據寫入到文件或從文件中讀取數據
3) 關閉已打開的文件,即將文件流對象與磁盤文件脫離聯繫。
例如:
#include <fstream.h>
void main() //程序從這裏開始運行
{
ofstream SaveFile(“file1.txt”); //定義輸出文件流對象SaveFile,並將SaveFile與文件file1聯繫起來(即打開了文件file1)
SaveFile << “Hello World”; //利用運算符<<將文本寫入文件,與cout<<用法類似
SaveFile.close(); //關閉文件
}
下面分步介紹
3. 文件操作流程
1) 定義一個文件流對象
ifstream infile;//定義輸入文件流對象infile
ifstream infile(file1.txt);//定義輸入文件流對象infile,並將infile與文件’file1.txt”聯繫起來(打開文件file1.txt)
ofstream outfile;// 定義輸出文件流對象outfile
fstream iofile;// 定義輸入/輸出文件流對象iofile
2) 用文件流對象的成員函數open()或構造函數,打開一個文件。如:
outfile.open(file2.txt); //用成員函數open()打開文件file2.txt
ourfile(“file3.txt”);//用構造函數打開文件file3.txt
打開文件時,可以利用參數設置文件打開方式、文件屬性。
文件打開後,要判斷打開文件是否成功。
3) 用提取、插入運算或成員函數對文件讀/寫。如:
infile>>ch;
4) 用完文件後,使用文件流對象的成員函數關閉文件。如:
infile.close();
參考: