C 风格的文件输入/输出
来自cppreference.com
C++ 标准库的 C 输入/输出子集实现了 C 风格流的输入/输出操作。<cstdio> 头文件提供了对通用文件操作的支持,并提供具有窄和多字节字符的输入/输出能力的函数,而 <cwchar> 头文件提供了具有宽字符输入/输出能力的函数。
C 流以 std::FILE
类型的对象所代表,只能通过 std::FILE
*
类型的指针予以访问及操作。每个 C 流均与外部物理设备(文件、标准输入流、打印机、串口等)相关联。
类型
在标头
<cstdio> 定义 | |
对象类型,足以保有控制 C 输入/输出流所需的全部信息 (typedef) | |
完整非数组对象类型,足以唯一指定文件中的位置,包含其多字节剖析状态 (typedef) |
预定义标准流
在标头
<cstdio> 定义 | |
与输入流关联的 FILE* 类型表达式与输出流关联的 FILE* 类型表达式与错误输出流关联的 FILE* 类型表达式 (宏常量) |
函数
在标头
<cstdio> 定义 | |
文件访问 | |
打开文件 (函数) | |
以不同名称打开既存流 (函数) | |
关闭文件 (函数) | |
将输出流与实际文件同步 (函数) | |
在宽字符输入/输出和窄字符输入/输出间切换文件流 (函数) | |
为文件流设置缓冲区 (函数) | |
为文件流设置缓冲区与其大小 (函数) | |
直接输入/输出 | |
从文件读取 (函数) | |
写入文件 (函数) | |
无格式输入/输出 | |
字节/多字节字符 | |
从文件流获取字符 (函数) | |
从文件流获取字符串 (函数) | |
写字符到文件流 (函数) | |
写字符串到文件流 (函数) | |
从 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 的实参,指示全缓冲输入/输出 给 std::setbuf 的实参,指示行缓冲输入/输出 给 std::setbuf 的实参,指示无缓冲输入/输出 (宏常量) |
SEEK_SETSEEK_CURSEEK_END |
给 std::fseek 的实参,指示从文件起始寻位 给 std::fseek 的实参,指示从当前文件位置寻位 给 std::fseek 的实参,指示从文件尾寻位 (宏常量) |
TMP_MAX |
std::tmpnam 所能生成的唯一文件名的最大数量 (宏常量) |
L_tmpnam |
保有 std::tmpnam 结果的 char 数组所需的大小 (宏常量) |