本文通過一個簡短的程序說明了在C++中進行文件的輸入與輸出的方法。
下面首先給出一段代碼,實現在當前運行目錄中建立一個文件,并寫入一些信息:
#include <fstream.h>
void main() // C++程序從主函數main開始運行
{
ofstream SaveFile(“VeVb.txt”);
SaveFile << “Hello World, articles from www.49028c.com, You will like it!”;
SaveFile.close();
}
就這么短的代碼,實現了在運行目錄下建立一個名為VeVb.txt的文件,并向它寫入“Hello World, articles from www.49028c.com, You will like it!”。
下面將對程序進行詳細的解釋:
#include <fstream.h> —— 你需要包含此文件以使用C++的文件輸入/輸出函數。注意:一旦包含了這個文件,你不再需要(為了使用cout/cin)包含iostream.h,因為fstream.h已經自動包含了它。
在這個頭文件中聲明了若干個類,包括ifstream,ofstream及fstream,它們都繼承自istream和ostream類。
ofstream SaveFile(“VeVb.txt”);
1)ofstream即“output file stream(輸出文件流)”。它將建立一個句柄(handle),以便我們以后能以一個文件流的形式寫入文件。
2)SaveFile —— 這是文件句柄的名字,當然,你還可以換用任何一個你想要的名稱。
3)(“cpp-home.txt”); —— 打開名為cpp-home.txt的文件。如果程序運行的當前目錄已經存在這樣一個文件,則它將被替換掉;萬一不存在,程序也會為你創建一個為文件,你不必為此而擔心。
現在,讓我們稍微深入一點點。首先,我要指出的是:ofstream是一個類。因此ofstream SaveFile(“cpp-home.txt”);這一語句將創建一個該類的對象;而我們在括號中所傳遞的參數實際上將傳給構造函數:在這里我們將我們要建立的文件的名稱作為實際參數傳遞給了該類的構造函數。當然,我們還可以傳遞其它的一些信息,不過我以后再對其進行講解。
SaveFile << “Hello World, articles from www.49028c.com, You will like it!”; —— “<<”看起來是不是很親切?不錯,想必你已經在cout << 中見到過。這是一個預定義好的運算符。不管怎么說,這行語句所做的,是將上面的那段文本寫入文件。正如前面所提到的,SaveFile是一個文件句柄,它關聯一個打開的流式文件。所以,我們只須輸入句柄名,再跟著輸入“<<”,然后接著寫下一串用引號括起來的文本,就可以實現對文件的寫入。如果我們想寫入的是某個變量的值而不是帶引號的文本,也只須像通常使用cout << 一樣將變量傳遞給句柄對象,像這樣:
SaveFile << variablename;
SaveFile.close(); —— 既然我們打開了一個流文件,那么當我們用完它之后,就必須關閉它。SaveFile是ofstream類的一個對象,而該類(ofstream)有一個用于關閉文件的成員函數,即close() 函數。因此,我們只要依次輸入文件句柄名,點號和close(),就可以關閉該文件!
注意:一旦你關閉文件,在你重新打開它以前,就再不能對它進行訪問。
新聞熱點
疑難解答