C++文件操作
C++文件读写
C++对文件操作要包含头文件<fstream>
操作文件有三大类:
ofstream
:写操作ifstream
:读操作fstream
:读写操作
一、 文本文件
写文件:
- 包含头文件
#include <fstream>
- 创建流对象:
// 创建写文件对象
ofstream out;
- 打开文件:
out.open("111.txt", ios::out);
// out.open("文件路径", 打开方式);
其中打开方式有如下几种:
打开方式 | 解释 |
---|---|
ios::in |
为读文件而打开文件 |
ios::out |
为写文件而打开文件 |
ios::ate |
初始位置:文件尾 |
ios::app |
追加方式写文件 |
ios::trunc |
如果文件存在先删除,再创建 |
ios::binary |
二进制方式 |
文件打开方式可以配合使用,利用|
运算符
例如:用二进制方式写文件:ios::binary | ios::out
- 向文件中写数据:
// 向文件中输出内容
out << "Hello " << "World" << endl;
out << "C++" << endl;
- 关闭文件:
out.close();
读文件
读文件的步骤与写文件类似,如下:
- 包含头文件
- 创建流对象
// 创建读文件对象
ifstream in;
- 打开文件并判断文件是否打开成功
// 打开文件
in.open("111.txt", ios::in);
//并判断文件是否打开成功
if (!in.is_open())
{
cout << "打开文件失败!" << endl;
return;
}
- 读数据,有四种方式
// 第一种,每次读一行
char buf[1024] = { 0 };
while (in >> buf)
{
cout << buf << endl;
}
// 第二种,利用成员函数getline();
char buf[1024] = { 0 };
while (in.getline(buf, sizeof(buf)))
{
cout << buf << endl;
}
string buf;
while (getline(in, buf))
{
cout << buf << endl;
}
char c;
while ((c = in.get()) != EOF)
{
cout << c;
}
- 关闭文件
in.close();
二、 二进制文件
读文件
用write()
写文件
用read()
不写了、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)