前言
- 用于执行
操作的 C 库;
输入/输出
- 输入和输出操作也可以使用 C 标准输入和输出库在 C++ (
)中执行。
cstdio
- 该库使用流来操作
,例如键盘、打印机、终端或系统支持的任何其他类型的文件。
物理设备
- 流是一种以统一方式与这些
; 所有流都具有
交互的抽象
,独立于它们所关联的
相似的属性
的各个特性。
物理媒体
- 流在 cstdio 库中作为指向
的指针进行处理。 指向 FILE 对象的指针唯一标识一个流,并在涉及该流的操作中用作参数。
FILE 对象
- 还存在三个标准流:
、
stdin
和
stdout
,它们是为使用该库的
stderr
和
所有程序自动创建
的。
打开
文章目录
- 前言
-
- 一、流
-
- 1、属性
-
- 1.1 读/写访问
- 1.2 文本或二进制
- 1.3 缓冲
- 1.4 取向
- 2、指标
-
- 2.1 错误指示器
- 2.2 文件尾指示器
- 位置指示器
- 3、功能
-
- [3.1 文件处理](https://blog.csdn.net/weixin_45926547/article/details/120392327)
- [3.2 文件访问](https://blog.csdn.net/weixin_45926547/article/details/120394258)
- 3.2 格式化输入/输出
- 3.3 字符输入/输出
- 3.4 直接输入/输出
- 3.5 错误处理
- 3.6 宏
- 3.7类型
一、流
1、属性
1.1 读/写访问
指定流是否对它们关联的物理媒体 具有读或写访问(或两者都有)
。
1.2 文本或二进制
- 文本流即一组文本行,每一行以
结尾。 根据应用
换行符
的环境,文本流可能会发生一些
程序运行
,以使某些
字符转换
的文本文件规范。
特殊字符适应环境
- 二进制流是从
写入或读取的字符序列,
物理媒体
,与读或写到流的字符有
不需要转换
关系。
一一对应
1.3 缓冲
缓冲区是一个,数据在物理地
内存块
到相关的文件或设备之
读或写
在其中积累。 流可以被
前
、
完全缓冲
或
行缓冲
。
不缓冲
- 完全缓冲的流中,当缓冲区
读取/写入数据;
被填满时
- 行缓冲流中,当遇到
时读取/写入数据;
新行字符
- 未缓冲流中,字符将
地读取/写入。
尽可能快
1.4 取向
在打开时,。 一旦对它们
流没有方向
输入/输出操作,它们就变成
执行
的或
面向字节
的,这取决于所执行的操作(通常,在
面向广泛
中定义的函数是
<cstdio>
的,而在
面向字节
中定义的函数是
<cwchar>
的)。
面向广泛
2、指标
2.1 错误指示器
当与流相关的操作发生时设置此指示器。 这个指示器可以用
错误
函数来检查,也可以通过调用
ferror
来重置。 `
clearerr、freopen或rewind
2.2 文件尾指示器
对流执行的最后一次读或写操作到达文件结束位置。 用函数检查,也可以通过调用
feof
或
clearerr
或调用任何重新定位函数(
freopen
,
rewind
和
fseek
)来重置。 一般常用
fsetpos
、
feof
。
fseek
位置指示器
它是每个流的,指向
内部指针
中要读或写的
下一次I/O操作
符。 它的值可以通过
下一个字
和
ftell
函数获得,常用
fgetpos
来改变。
fseek