C++基础:第八章 深入IO
第八章 深入IO
第1节 序
第2节 IOStream概述
流式IO而非记录IO
处理的主要问题
- 表示形式的变化:使用格式化/解析在数据的内部表示与字符序列之间切换
- 与外部设备的通信:针对不同的外部设备引入不同的处理逻辑
涉及到的操作
- 格式化/解析
- 缓存
- 编码转换
- 传输
采用模板来封装字符特性,采用继承来封装设备特性
- 常用类型实际上是类模板实例化的结果
第3节 输入和输出
分为格式化和非格式化两类
非格式化:不涉及数据表示形式的变化
- 常用输入函数:
get/read/getline/gcount
- 常用输出函数:
put/write
格式化:使用移位操作符进行的输入输出
第4节 文件与内存操作
文件操作
basic_ifstream/basic_ofstream/basic_fstream
std::ofstream outfile("my_file"); outfile << "Hello\n";
文件流可以处于打开、关闭状态
std::ofstream outfile; outfile.open("my_file");
意义明确的打开方式组合
内存流:basic_istringstream/basic_ostringstream/basic_stringstream
也会受打开模式的影响:in/out/ate/app
使用.str()
方法获取底层所对应的字符串
基于字符串流的字符串拼接优化操作(优于直接拼接string,避免内存的刷新)
第5节 流的定位、同步和状态
流的状态
iostate
- badbit 不可恢复的流错误
- failbit 输入输出操作失败(可恢复)
- eofbit 关联的输出序列已达文件尾 (Ctrl+D/C)
检测流的状态
std::cout<<std::cin.good();
注意区分fail和eof
获取流的位置
- tellg()/tellp() 用于获取输入/输出流的位置(pos_type类型)
- 失败时返回(-1)
设置流的位置
- seekg()/seekp()用于设置输入/输出流的位置
流的同步
C++基础:第八章 深入IO相关推荐
- 计算机应用基础实验指导实验八,计算机应用基础第八章上机实验
计算机应用基础第八章上机实验 (28页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 第八章 上机实验n 实验一 键盘指法练习 n 实验二 ...
- c# 找出目录下的所有子目录_C# 基础知识系列- 14 IO篇 文件的操作(2)
前接上一篇内容. 如果是第一次捧场的小伙伴,为了您阅读的连贯性,烦请扫一眼<C# 基础知识系列- 14 IO篇 文件的操作(1)>.本篇是IO之文件操作的第二篇,介绍一下目录和路径的相关类 ...
- java不死神兔总数_Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)...
1.这个问题是如下的: 有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月: 1 第 ...
- Socket基础八:网络IO模型的应用
Socket基础八:网络IO模型的应用 作者:刘磊 2020.4.27 参考书目:<Windows网络编程>刘琰等著 一.实验目的 1)掌握WindowsI/O操作的基本原理. 2)掌握阻 ...
- Mysql数据库基础第八章:窗口函数和公用表表达式(CTE)
Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...
- 计算机io接口主要功能,计算机基础知识2:IO接口及电源介绍.ppt
<计算机基础知识2:IO接口及电源介绍.ppt>由会员分享,可在线阅读,更多相关<计算机基础知识2:IO接口及电源介绍.ppt(18页珍藏版)>请在人人文库网上搜索. 1.I/ ...
- Python基础知识点拾遗---文件IO(os、filecmp、shutil库)、sys库、序列化(pickle)、类
Python基础知识点拾遗 文件IO 文本 目录 os 获取文件的创建.修改及最近访问时间 获取当前文件的大小 获取当前的登录用户名称 获取当前的cpu核数 调用操作系统底层的random生成器 sh ...
- 零基础学Python(第十八章 文件IO流操作)
本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...
- java中的常用的文件流_Java 基础(四)| IO 流之使用文件流的正确姿势
image.png 一.什么是 IO 流? 想象一个场景:我们在电脑上编辑文件,可以保存到硬盘上,也可以拷贝到 U 盘中.那这个看似简单的过程,背后其实是数据的传输. 数据的传输,也就是数据的流动.既 ...
- 【嵌入式Linux】嵌入式Linux应用开发基础知识之文件IO
文章目录 前言 1.文件从哪来 2.文件如何访问 2.1.通用IO模型open/read/write/lseek/close 2.1.1.通用IO模型使用示例 2.1.2.open/read/writ ...
最新文章
- RegisterStartupScript 和 RegisterClientScriptBlock 的区别
- 简单的 H5 视频推流解决方案
- 001帝国Cms二次开发之helloworld
- Spring IOC 容器源码分析系列文章导读
- CentOS 6.X 关闭不需要的 TTY 方法
- (原創) 如何讀取/寫入文字檔? (IC Design) (Verilog)
- 【干货】人人都能看懂的LSTM
- Android 获取当前的时间。年月日,时分秒,星期几
- LeetCode 338. 比特位计数(动态规划)
- bzoj 1662: [Usaco2006 Nov]Round Numbers 圆环数(枚举)
- matlab画三维图像(plot3,mesh,surf)
- property 理解
- Windows锁屏图片文件存放位置
- 挣脱“数据沼泽”,重获用云自由
- 从前后端分离到前后端整合的“退步”(一)项目结构
- Matlab之绘制三维曲面图
- 微信支付V3-SDK(已发布npm)
- 【重磅来袭】这绝对是全网最全的Springboot面试题
- Java的思考01 - 当大老板还是小老板
- 用exclusion切断maven jar包的依赖传递