下面由淺入深介紹一下C++中文件的讀寫操作,每一段代碼都可以單獨運行,我會試圖以最短的代碼解釋清楚基本的讀寫操作。
1 文本文件的基本寫操作
功能:向文件 myfile.txt 中寫入數據。
代碼:
#include <fstream>
#include <string>
using namespace std;
int main()
{
ofstream outfile;
outfile.open("D://myfile.txt"); // 以寫模式打開文件
// 向文件寫入用戶輸入的數據
for (int i = 0; i < 8; i++) {
string data = "第" + to_string(i) + "行"; //要寫入的內容
outfile << data << endl; //向文件中寫入一行
}
outfile.close(); // 關閉打開的文件
getchar(); //防止終端退出
return 0;
}
結果:打開D盤下的myfile.txt,它的內容如下:
解釋:ofstream是寫操作的文件類,該類的open函數用於打開文件,然後通過流(<<符號)將內容輸入到文件中。寫文件結束好需要調用close方法關閉文件。
2 文本文件的基本讀操作
功能:從文件 infile.txt 中逐行讀出數據並且輸出到終端上。
代碼:
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
int main()
{
ifstream infile; //讀文件類的對象
infile.open("D://infile.txt"); //打開文件
//依次讀取每一行
for (int i = 0; i < 3; i++) {
string data;
getline(infile, data); //讀取一行,遇到換行符號"\n"結束讀取
cout << data << endl; //輸出讀取的內容
}
infile.close(); // 關閉打開的文件
getchar(); //防止終端退出
return 0;
}
結果:文件的內容如下
終端的輸出如下
解釋:ifstream是讀操作的文件類,該類的open函數用於打開文件,然後通過getline函數(<string>頭文件中)讀取一行(判斷一行的標準是遇到了換行符號'\n'),最終通過cout輸出流打印文件內容到終端(命令行)。
上面是文件的基本讀寫操作,後續會更新稍微複雜一點的讀寫操作。