文件输入/输出
来自 cppreference.cn
< c
<stdio.h> 头文件提供了通用文件操作支持,并提供具有窄字符输入/输出功能的函数。
<wchar.h> 头文件提供了具有宽字符输入/输出功能的函数。
I/O 流由 FILE 类型的对象表示,这些对象只能通过 FILE* 类型的指针访问和操作。每个流都与外部物理设备(文件、标准输入流、打印机、串口等)关联。
目录 |
[编辑] 类型
定义于头文件
<stdio.h> | |
对象类型,能够保存控制 C I/O 流所需的所有信息 (类型定义) | |
非数组完整对象类型,能够唯一指定文件中的位置和多字节解析器状态 (类型定义) |
[编辑] 预定义的标准流
定义于头文件
<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) |
从 stdin、文件流读取格式化宽字符输入 或使用可变参数列表的缓冲区 (函数) |
(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_SETSEEK_CURSEEK_END |
指示从文件开头查找的 fseek 的参数 指示从当前文件位置查找的 fseek 的参数 指示从文件末尾查找的 fseek 的参数 (宏常量) |
TMP_MAXTMP_MAX_S (C11) |
可以由 tmpnam 生成的最大唯一文件名数 可以由 tmpnam_s 生成的最大唯一文件名数 (宏常量) |
L_tmpnamL_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 风格文件输入/输出
|