#include<fstream> //该头文件包含了用于打开文件的类
类ofstream,默认打开文件模式为可写。可以之间调用构造函数将需要打开的文件路径传递进去
如 ofstream ofile("C:/aa/s/s.txt");
类ifstream,默认打开模式为可读,同样可以通过构造函数将文件打开
ifstream ifile("C:/aa/s/s.txt");
等同于 ifstream ifile; ifile.open("C:/aa/s/s.txt");
ifstream与ofstream 的主要区别就是一个默认可读,一个默认可写。
均通过成员函数 ifile.is_open()来判断文件是否打开成功
1、读数据示例代码
ifstream file;
file.open("文件路径");
if (!file.is_open())
{
cout << "open error" << endl;
}
vector<int>nums;
string linestring, //用于接收文件中每行的数据
string data;//用于接收每行用分隔符分割后的每个数据
while (getline(file, linestring))
{
stringstream line(linestring);//将每行的数据转换为字符流
while(getline(line, data, ','))//循环获取用','分割的数据
{
nums.push_back(stoi(data));将获取的数据转换为整数后放入数组容器。
}
}
2、写数据到文本
ofstream outfile("文件路径");
if (!outfile.is_open())
{
cout << "open error" << endl;
}
for (int i = 0; i < reslut.size(); i++)
{
outfile << reslut[i]<< endl//跟cout类似
}