File input/output
From cppreference.net
<
c
<stdio.h> 头文件提供通用文件操作支持,并具备窄字符输入/输出功能的函数。
<wchar.h> 头文件提供具有宽字符输入/输出功能的函数。
I/O流由类型为 FILE 的对象表示,这些对象只能通过类型为 FILE * 的指针进行访问和操作。每个流都与一个外部物理设备(文件、标准输入流、打印机、串行端口等)相关联。
目录 |
类型
|
定义于头文件
<stdio.h>
|
|
|
对象类型,能够保存控制C I/O流所需的所有信息
(typedef) |
|
|
非数组完整对象类型,能够唯一指定文件中的位置和多字节解析器状态
(typedef) |
|
预定义标准流
|
定义于头文件
<stdio.h>
|
|
|
类型为
FILE
*
的表达式,关联到输入流
类型为 FILE * 的表达式,关联到输出流 类型为 FILE * 的表达式,关联到错误输出流 (宏常量) |
|
函数
文件访问 |
|
|
定义于头文件
<stdio.h>
|
|
|
(C11)
|
打开文件
(函数) |
|
(C11)
|
使用不同名称重新打开现有流
(函数) |
|
关闭文件
(函数) |
|
|
将输出流与实际文件同步
(函数) |
|
|
设置文件流的缓冲区
(函数) |
|
|
设置文件流的缓冲区及其大小
(函数) |
|
|
定义于头文件
<wchar.h>
|
|
|
(C95)
|
在宽字符I/O和窄字符I/O之间切换文件流
(函数) |
直接输入/输出 |
|
|
定义于头文件
<stdio.h>
|
|
|
从文件读取数据
(函数) |
|
|
写入文件
(函数) |
|
无格式输入/输出 |
|
窄字符 |
|
|
定义于头文件
<stdio.h>
|
|
|
从文件流获取一个字符
(函数) |
|
|
从文件流获取字符串
(函数) |
|
|
将字符写入文件流
(函数) |
|
|
将字符串写入文件流
(函数) |
|
|
从
stdin
读取一个字符
(函数) |
|
|
(C11中移除)
(C11)
|
从
stdin
读取字符串
(函数) |
|
向
stdout
写入一个字符
(函数) |
|
|
将字符串写入
stdout
(函数) |
|
|
将字符回退到文件流中
(函数) |
|
宽字符 |
|
|
定义于头文件
<wchar.h>
|
|
|
(C95)
|
从文件流获取宽字符
(函数) |
|
(C95)
|
从文件流获取宽字符串
(函数) |
|
(C95)
|
将宽字符写入文件流
(函数) |
|
(C95)
|
将宽字符串写入文件流
(函数) |
|
(C95)
|
从
stdin
读取宽字符
(函数) |
|
(C95)
|
向
stdout
写入宽字符
(函数) |
|
(C95)
|
将宽字符放回文件流
(函数) |
格式化输入/输出 |
|
窄字符 |
|
|
定义于头文件
<stdio.h>
|
|
|
(C11)
(C11)
(C11)
|
从
stdin
、文件流或缓冲区读取格式化输入
(函数) |
|
(C99)
(C99)
(C99)
(C11)
(C11)
(C11)
|
从
stdin
、文件流或缓冲区读取格式化输入
使用可变参数列表 (函数) |
|
(C99)
(C11)
(C11)
(C11)
(C11)
|
将格式化输出打印到
stdout
、文件流或缓冲区
(函数) |
|
(C99)
(C11)
(C11)
(C11)
(C11)
|
将格式化输出打印到
stdout
、文件流或缓冲区
使用可变参数列表 (函数) |
宽字符 |
|
|
定义于头文件
<wchar.h>
|
|
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
|
从
stdin
、文件流或缓冲区读取格式化宽字符输入
(函数) |
|
(C99)
(C99)
(C99)
(C11)
(C11)
(C11)
|
从
标准输入
、文件流或缓冲区读取格式化宽字符输入
使用可变参数列表 (函数) |
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
(C11)
|
将格式化宽字符输出打印到
stdout
、文件流或缓冲区
(函数) |
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
(C11)
|
将格式化宽字符输出打印到
stdout
、文件流
或缓冲区,使用可变参数列表 (函数) |
文件定位 |
|
|
定义于头文件
<stdio.h>
|
|
|
返回当前文件位置指示器
(函数) |
|
|
获取文件位置指示器
(函数) |
|
|
将文件位置指示器移动到文件中的特定位置
(函数) |
|
|
将文件位置指示器移动到文件中的特定位置
(函数) |
|
|
将文件位置指示器移动到文件开头
(函数) |
|
错误处理 |
|
|
定义于头文件
<stdio.h>
|
|
|
清除错误
(函数) |
|
|
检查文件结束符
(函数) |
|
|
检查文件错误
(函数) |
|
|
显示与当前错误对应的字符串到
stderr
(函数) |
|
文件操作 |
|
|
定义于头文件
<stdio.h>
|
|
|
删除文件
(函数) |
|
|
重命名文件
(函数) |
|
|
(C11)
|
返回指向临时文件的指针
(函数) |
|
(C11)
|
返回唯一文件名
(函数) |
宏常量
|
定义于头文件
<stdio.h>
|
|
|
EOF
|
类型为
int
且值为负的整型常量表达式
(宏常量) |
|
FOPEN_MAX
|
可同时打开的最大文件数
(宏常量) |
|
FILENAME_MAX
|
存储最长受支持文件名所需的
char
数组大小
(宏常量) |
|
BUFSIZ
|
setbuf
所用的缓冲区大小
(宏常量) |
|
_IOFBF
_IOLBF
_IONBF
|
指示全缓冲 I/O 的
setvbuf
参数
指示行缓冲 I/O 的 setvbuf 参数 指示无缓冲 I/O 的 setvbuf 参数 (宏常量) |
|
SEEK_SET
SEEK_CUR
SEEK_END
|
指示从文件开始寻址的
fseek
参数
指示从当前文件位置寻址的 fseek 参数 指示从文件末尾寻址的 fseek 参数 (宏常量) |
|
TMP_MAX
TMP_MAX_S
(C11)
|
tmpnam
可生成的唯一文件名最大数量
tmpnam_s 可生成的唯一文件名最大数量 (宏常量) |
|
L_tmpnam
L_tmpnam_s
(C11)
|
存储
tmpnam
结果所需的
char
数组大小
存储 tmpnam_s 结果所需的 char 数组大小 (宏常量) |
参考文献
- C23 标准 (ISO/IEC 9899:2024):
-
- 7.21 输入/输出 <stdio.h> (页码: 待定)
-
- 7.29 扩展多字节和宽字符工具 <wchar.h> (页码: 待定)
-
- 7.31.11 输入/输出 <stdio.h> (页码: 待定)
-
- 7.31.16 扩展多字节和宽字符工具 <wchar.h> (页码: 待定)
-
- K.3.5 输入/输出 <stdio.h> (页码: 待定)
- C17标准(ISO/IEC 9899:2018):
-
- 7.21 输入/输出 <stdio.h>(页码:待定)
-
- 7.29 扩展多字节和宽字符工具 <wchar.h>(页码:待定)
-
- 7.31.11 输入/输出 <stdio.h>(页码:待定)
-
- 7.31.16 扩展多字节和宽字符工具 <wchar.h>(页码:待定)
-
- K.3.5 输入/输出 <stdio.h>(页码:待定)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.21 输入/输出 <stdio.h> (页码: 296-339)
-
- 7.29 扩展多字节与宽字符工具 <wchar.h> (页码: 402-446)
-
- 7.31.11 输入/输出 <stdio.h> (页码: 456)
-
- 7.31.16 扩展多字节与宽字符工具 <wchar.h> (页码: 456)
-
- K.3.5 输入/输出 <stdio.h> (页码: 586-603)
- C99标准(ISO/IEC 9899:1999):
-
- 7.19 输入/输出 <stdio.h>(页码:262-305)
-
- 7.24 扩展多字节和宽字符工具 <wchar.h>(页码:348-392)
-
- 7.26.9 输入/输出 <stdio.h>(页码:402)
-
- 7.26.12 扩展多字节和宽字符工具 <wchar.h>(页码:402)
- C89/C90标准(ISO/IEC 9899:1990):
-
- 4.9 输入/输出 <stdio.h>
-
- 4.13.6 输入/输出 <stdio.h>
另请参阅
|
C++ 文档
关于
C 风格文件输入/输出
|