对文件进行操作有三个头文件
istream 输入流
ostream 输出流
fstream 文件流,有前两个的功能
写文件,操作步骤
- 包含头文件
#include <fstream>
- 创建流对象
fstream fs;
- 打开文件
fs.open("文件路径", 打开方式);
- 写数据
fs << "写入的数据"
; - 关闭文件
fs.close();
这里的fs是文件读写的通用类名,对于写文件也可以用ofstream
文件的打开方式
读文件
读文件与写文件类似,
再打开文件步骤要检查一下文件是否打开成功了
fs.isopen();为真则打开成功
读文件有四种方式,见如下代码
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class File
{
public:
string name;
int age;
};
int main(void)
{
//写文件
fstream fs;
fs.open("文件.txt", ios::out);
fs << "姓名:张三" << endl
<< "性别:男" << endl
<< "年龄:22" << endl;
fs.close();
File p;
p.name = "张永达";
p.age = 23;
fs.open("类文件.txt", ios::out);
fs << p.name << p.age << endl;
fs.close();
//读文件
fs.open("文件.txt", ios::in);
if (!fs.is_open())
{
cout << "文件打开失败" << endl;
return 1;
}
//第一种方式
/*char buf[100] = {0};
while (fs >> buf)
{
cout << buf << endl;
}*/
//第二种方式
/*char buf[100] = { 0 };
while (fs.getline(buf, sizeof(buf) / sizeof(buf[0])))
{
cout << buf << endl;
}*/
//第三种方式
string str;
while (getline(fs, str))
{
cout << str << endl;
}
fs.close();
return 0;
}