当前位置: 首页 > news >正文

C++文件操作--1 文本文件操作

  • C++可以通过文件实现数据持久化
  • C++对文件的操作需要包含头文件 <fstream>

文件分为:

  1. 文本文件
  2. 二进制文件

操作文件的三大类型:

  1. 写操作类--ofstream
  2. 读操作类--ifstream
  3. 读写操作类--fstream

 

1.1 写文本文件

(1)包含头文件

#include<fstream>

(2)创建流对象

ofstream ofs;

(3)打开文件

ofs.open("文件路径", 打开方式);
  • 文件打开方式:

  • 文件打开方式配合使用:

ios::in | ios::binary

(4)写入数据

ofs << "写入数据";

(5)关闭文件

ofs.close();

1.2 读文本文件

(1)包含头文件

#include<fstream>

(2)创建流对象

ifstream ifs;

(3)打开文件并判断文件是否打开成功

ifs.open("文件路径", 打开方式);
if(!ifs.is_open()) // 判断文件是否打开成功
{std::cout << "文件打开失败!" << std::endl;return 0;
}

(4)读取数据

  • 全部读取

char buf[1024] = {0};
while(ifs >> buf){}
  • 按行读取(成员函数,读取到字符数组)

char buf[1024] = {0};
while(ifs.getline(buf, sizeof(buf))){}
  • 按行读取(全局函数,读取到字符串)

string buf;
while(getline(ifs, buf)){}
  • 按字符读取

char buf[1024] = {0};
while((c = ifs.get()) != EOF){std::cout << c;}

(5)关闭文件

ifs.close();

相关文章:

  • vllm serve到底是如何运行的?(2)
  • 文件目录与检索综合练习题
  • ROS2学习(2)------第一个程序
  • 专项智能练习(定义判断)
  • QT设置MySQL驱动
  • 还有哪些领域可以应用北斗卫星通讯?
  • Java类一文分解:JavaBean,工具类,测试类的深度剖析
  • 如何卸载并重新安装 Mozilla Firefox 浏览器
  • iOS视频封装步骤解析
  • 【skywalking】index“:“skywalking_metrics-all“},“status“:404}
  • 题目:两个线程交替输出1-100的数字,例如:t1--》1,t2--》2,....
  • 本地文件操作 MCP (多通道处理) 使用案例
  • DeepSearch:字节新一代 DeerFlow 框架
  • Swagger使用
  • 全栈项目中是否可以实现统一错误处理链?如果可以,这条链路该如何设计?需要哪些技术支撑?是否能同时满足性能、安全性和用户体验需求?
  • 机器学习 --- 模型选择与调优
  • 山东大学计算机图形学期末复习8——CG11下
  • ElfBoard技术实战|ELF 2开发板本地部署DeepSeek大模型的完整指南
  • C#发送文件到蓝牙设备
  • 【实战篇】低代码报表开发——平台运营日报表的开发实录
  • 蒋圣龙突遭伤病出战世预赛存疑,国足生死战后防线严重减员
  • 证监会强化上市公司募资监管七要点:超募资金不得补流、还贷
  • 黄仕忠丨戏曲文献研究之回顾与展望
  • 中国-拉共体论坛第四届部长级会议北京宣言
  • 习近平举行仪式欢迎巴西总统卢拉访华
  • 金价大跌!足金饰品每克一夜便宜14元,涨势是否已终结?