当前位置: 首页 > 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();

http://www.dtcms.com/a/193277.html

相关文章:

  • 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#发送文件到蓝牙设备
  • 【实战篇】低代码报表开发——平台运营日报表的开发实录
  • Spring 框架 JDBC 模板技术详解
  • SQL实战:06交叉日期打折问题求解
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- MCP内幕解析
  • 观QFramework框架底层逻辑有感
  • 经典卷积神经网络
  • Secs/Gem第四讲(基于secs4net项目的ChatGpt介绍)
  • 开源免费iOS或macOS安装虚拟机运行window/Linux系统
  • Qt中控件的Viewport作用
  • 服务器连接多客户端
  • 文章复现|(1)整合scRNA-seq 和空间转录组学揭示了子宫内膜癌中 MDK-NCL 依赖性免疫抑制环境