C 风格的文件输入/输出

来自cppreference.com
< cpp‎ | io


 
 
 
C 风格 I/O
 

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、文件流或缓冲区读取有格式输入
(函数)
打印有格式输出到 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 数组所需的大小
(宏常量)

参阅