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

【C++】文件IO流

文章目录

  • 1. 流是什么
  • 2. C++文件操作步骤
  • 3. 以二进制的形式操作文件
  • 4. 以文本的形式操作文件
  • 5. 使用 >> 和 << 对文件进行操作

1. 流是什么

“流”是流动的意思,是物质从一处向另一处流动的过程,是对一种有序连续且有方向性的数据的抽象描述。

C++流是指信息从外部输入设备(如键盘)向计算机内部(如内存)输入和从计算机内部向外部输出设备(如显示器)输出的过程。这种输入输出的过程被形象地比如为“流”。

流的特性:有序连续、具有方向性。

2. C++文件操作步骤

C++根据文件内容的数据格式将文件分为二进制文件和文本文件,采用文件流对象操作文件的一般步骤如下:

1、定义一个文件流对象

操作文件的类有以下三个:

对应操作
ofstream只写
ifstream只读
fstream读+写

2、使用文件流对象打开一个磁盘文件,使文件流对象与磁盘问建立联系

打开方式含义
in以读的方式打开文件
out以写的方式打开文件
binary以二进制方式对文件进行操作
ate输出位置从文件的末尾开始
app以追加的方式对文件进行写入
trunc先将文件内容清空再打开文件

3、使用提取和插入运算符对文件进行读写,或使用成员函数进行读写

读写函数功能
put插入一个字符到文件
write插入一段字符到文件
get从文件提取一个字符
read从文件提取多个字符
tellg获取当前字符在文件中的位置
seekg设置对文件进行操作的位置
>>将数据形象地以“流”的形式进行输入
<<将数据形象地以“流”的形式进行输出

4、关闭文件即可

调用close成员函数关闭文件即可。

3. 以二进制的形式操作文件

以二进制的形式对文件进行写入操作

在这里插入图片描述

以二进制的形式对文件进行读取操作
在这里插入图片描述

4. 以文本的形式操作文件

以文本形式对文件进行写入操作

在这里插入图片描述

以文本形式对文件进行读取操作

在这里插入图片描述

5. 使用 >> 和 << 对文件进行操作

使用 >> 和 << 运算符对文件进行读写操作,会变得很简单,也很形象。

对文件的写入操作

在这里插入图片描述

对文件的读取操作

在这里插入图片描述
注意: 可以在定义文件流对象的同时指定将要打开的文件名,以及文件的打开方式。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 涨点发论文神器:即插即用多尺度融合模块!
  • web以及nginx
  • 【网络世界】HTTPS协议
  • 《程序猿入职必会(5) · CURD 页面细节规范 》
  • logstash 全接触
  • 深入了解-什么是CUDA编程模型
  • CUDA的(详细版)占用率优化策略
  • 使用docker在CentOS 7上安装php+mysql+nginx环境教程并运行WordPress
  • testRigor-基于人工智能驱动的无代码自动化测试平台
  • 漏洞复现-路由器TOTOLINK-A6000R-RCE
  • 【vue2+elementui】记录el-upload文件上传时调接口传参的几种情况
  • python爬取某财富网
  • windows go grpc
  • 深入浅出大模型:LangChain详解——打造你的自定义Chain与异步API
  • 使用安卓手机安装Kali Linux
  • [数据结构]链表的实现在PHP中
  • Angular2开发踩坑系列-生产环境编译
  • CEF与代理
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • css布局,左右固定中间自适应实现
  • egg(89)--egg之redis的发布和订阅
  • java8-模拟hadoop
  • JavaScript设计模式之工厂模式
  • Java新版本的开发已正式进入轨道,版本号18.3
  • leetcode386. Lexicographical Numbers
  • Making An Indicator With Pure CSS
  • Promise面试题2实现异步串行执行
  • Python打包系统简单入门
  • vue脚手架vue-cli
  • 创建一种深思熟虑的文化
  • 前端自动化解决方案
  • 如何设计一个比特币钱包服务
  • 深度解析利用ES6进行Promise封装总结
  • Python 之网络式编程
  • 交换综合实验一
  • ​虚拟化系列介绍(十)
  • # include “ “ 和 # include < >两者的区别
  • #Linux(帮助手册)
  • #微信小程序:微信小程序常见的配置传值
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (1)Nginx简介和安装教程
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (k8s中)docker netty OOM问题记录
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (七)Flink Watermark
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转载)CentOS查看系统信息|CentOS查看命令
  • *ST京蓝入股力合节能 着力绿色智慧城市服务