C++學習13:讀寫文本文件



頭文件fstream中定義了ifstream類,用於處理讀取,ifstream需要指明std空間。

聲明ifstream變量:

ifstream inFile;

ifstream變量使用open()方法打開外部文件,使用結束時,調用close()將文件關閉:

inFile.open("Data.txt");
inFile.close(); //不需要文件名

類似於“cin>>”,ifstream通過>>從給所打開的文件內容,賦給char型數組。注意輸出字符串只能使用char型數組,不能使用string。

char Data[20];
inFile >> Data;

//string Data_String;
//inFile >> Data_String;    //error

下面來看示例:

int main(int argc,char *argv[])  
{
    ifstream inFile;
    inFile.open("Data.txt",ios_base::out);
    char Data[20];
    if(!inFile.is_open())
    {
        cout << "error" << endl;
        system("pause");
        return 0;
    }
    while(inFile.good())
    {
        inFile >> Data;
        cout << Data << " ";
    }
    inFile.close();
    system("pause");
}   


當工作目錄下沒有Data.txt文件時,inFile.is_open()將返回false,則程序會返回error並提前退出。

若Data.txt內容爲:Hello C++!
則程序運行結果爲

Hello C++!  請按任意鍵繼續. . .
1
由於在讀取時,程序遇到空格即會停止讀取,這裏使用了inFile.good()作爲判斷條件,當讀取到的是字符時,inFile.good()將返回true,當無法正確讀取數據時就會返回false結束讀取。



頭文件fstream中定義了ofstream類,用於處理輸出,ofstream需要指明std空間。

聲明ofstream變量:

ofstream outFile;

ofstream變量使用open()方法打開外部文件,使用結束時,調用close()將文件關閉:

outFile.open("Data.txt");
outFile.close();    //不需要文件名

類似於“cout<<”,ofstream通過<<將內容輸出給所打開的文件,輸出各種類型的變量。注意輸出字符串只能使用char型數組,不能使用string。

char Data[20] = "Hello C++!";
outFile << Data;

//string Data_String = "Hello C++!";
//outFile << Data_String;   //error

下面來看示例:

int main(int argc,char *argv[])  
{
    fstream outFile;
    outFile.open("Data.txt",ios_base::out);
    char Data1[20] = "Hello C++!";
    double D = 1.2345;
    int i = 6;
    outFile << Data1 << endl;
    outFile << D<<endl << i <<endl;
    outFile.close();
    system("pause");
}  
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章