C 样式文件输入/输出
来自 cppreference.com
C++ 标准库的 C I/O 子集实现了 C 样式流输入/输出操作。 <cstdio> 头文件提供通用文件操作支持,并提供具有窄字符和多字节字符输入/输出功能的函数,以及 <cwchar> 头文件提供具有宽字符输入/输出功能的函数。
C 流由类型为 std::FILE 的对象表示,这些对象只能通过类型为 std::FILE* 的指针访问和操作。每个 C 流都与一个外部物理设备(文件、标准输入流、打印机、串行端口等)相关联。
内容 |
[编辑] 类型
在头文件
<cstdio> 中定义 | |
对象类型,能够保存控制 C I/O 流所需的所有信息 (typedef) | |
完整的非数组对象类型,能够唯一地指定文件中的位置,包括其多字节解析状态 (typedef) |
[编辑] 预定义标准流
在头文件
<cstdio> 中定义 | |
类型为 FILE* 的表达式,与输入流相关联类型为 FILE* 的表达式,与输出流相关联类型为 FILE* 的表达式,与错误输出流相关联(宏常量) |
[编辑] 函数
在头文件
<cstdio> 中定义 | |
文件访问 | |
打开一个文件 (函数) | |
使用不同的名称打开现有流 (函数) | |
关闭一个文件 (函数) | |
将输出流与实际文件同步 (函数) | |
在宽字符 I/O 和窄字符 I/O 之间切换文件流 (函数) | |
设置文件流的缓冲区 (函数) | |
设置文件流的缓冲区及其大小 (函数) | |
直接输入/输出 | |
从文件读取 (函数) | |
写入文件 (函数) | |
非格式化输入/输出 | |
字节/多字节字符 | |
从文件流获取字符 (函数) | |
从文件流获取字符串 (函数) | |
向文件流写入字符 (函数) | |
向文件流写入字符串 (函数) | |
从 stdin 读取字符 (函数) | |
(C++11 中已弃用)(C++14 中已移除) |
从 stdin 读取字符串 (函数) |
向 stdout 写入字符 (函数) | |
将字符字符串写入 stdout (函数) | |
将一个字符放回文件流 (函数) | |
宽字符 | |
从文件流获取宽字符 (函数) | |
从文件流获取宽字符串 (函数) | |
将宽字符写入文件流 (函数) | |
将宽字符串写入文件流 (函数) | |
从 stdin 读取宽字符 (函数) | |
将宽字符写入 stdout (函数) | |
将宽字符放回文件流 (函数) | |
格式化输入/输出 | |
字节/多字节字符 | |
从 stdin、文件流或缓冲区读取格式化输入 (函数) | |
(C++11)(C++11)(C++11) |
从 stdin、文件流或缓冲区读取格式化输入 使用可变参数列表 (函数) |
(C++11) |
将格式化输出打印到 stdout、文件流或缓冲区 (函数) |
将格式化输出打印到 stdout、文件流或缓冲区 使用可变参数列表 (函数) | |
宽字符 | |
从 stdin、文件流或缓冲区读取格式化宽字符输入 (函数) | |
(C++11)(C++11)(C++11) |
使用可变参数列表从 stdin、文件流 或缓冲区读取格式化宽字符输入 (函数) |
将格式化宽字符输出打印到 stdout、文件流或缓冲区 (函数) | |
将格式化宽字符输出打印到 stdout、文件流 或缓冲区读取格式化宽字符输入 (函数) | |
文件定位 | |
返回当前文件位置指示器 (函数) | |
获取文件位置指示器 (函数) | |
将文件位置指示器移动到文件中的特定位置 (函数) | |
将文件位置指示器移动到文件中的特定位置 (函数) | |
将文件位置指示器移动到文件开头 (函数) | |
错误处理 | |
清除错误 (函数) | |
检查文件结尾 (函数) | |
检查文件错误 (函数) | |
将当前错误对应的字符字符串显示到 stderr (函数) | |
文件操作 | |
删除文件 (函数) | |
重命名文件 (函数) | |
创建并打开一个临时文件,该文件会在程序退出时自动删除 (函数) | |
返回唯一的文件名 (函数) |
[编辑] 宏常量
在头文件
<cstdio> 中定义 | |
EOF |
类型为 int 且值为负的整数常量表达式 (宏常量) |
FOPEN_MAX |
可以同时打开的文件数量 (宏常量) |
FILENAME_MAX |
用于存放最长支持的文件名的 char 数组所需的大小 (宏常量) |
BUFSIZ |
由 std::setbuf 使用的缓冲区的大小 (宏常量) |
_IOFBF_IOLBF_IONBF |
传递给 std::setbuf 的参数,表示全缓冲 I/O 传递给 std::setbuf 的参数,表示行缓冲 I/O 传递给 std::setbuf 的参数,表示无缓冲 I/O (宏常量) |
SEEK_SETSEEK_CURSEEK_END |
传递给 std::fseek 的参数,表示从文件开头开始查找 传递给 std::fseek 的参数,表示从当前文件位置开始查找 传递给 std::fseek 的参数,表示从文件结尾开始查找 (宏常量) |
TMP_MAX |
由 std::tmpnam 保证能生成的唯一文件名的最大数量 (宏常量) |
L_tmpnam |
用于存放 std::tmpnam 结果的 char 数组所需的大小 (宏常量) |
[编辑] 另请参见
C 文档 针对 文件输入/输出
|