下面由浅入深介绍一下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输出流打印文件内容到终端(命令行)。
上面是文件的基本读写操作,后续会更新稍微复杂一点的读写操作。