命名空间
变体
操作

文件输入/输出

来自 cppreference.com
< c
 
 
文件输入/输出
类型和对象
函数
文件访问
直接输入/输出
非格式化输入/输出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)
格式化输入
(C99)(C99)(C99)(C11)(C11)(C11)     
 

<stdio.h> 头文件提供通用文件操作支持,并提供具有窄字符输入/输出功能的函数。

<wchar.h> 头文件提供具有宽字符输入/输出功能的函数。

I/O 流由类型为 FILE 的对象表示,这些对象只能通过类型为 FILE* 的指针访问和操作。每个流都与一个外部物理设备(文件、标准输入流、打印机、串行端口等)相关联。

内容

[编辑] 类型

在头文件 <stdio.h> 中定义
对象类型,能够保存控制 C I/O 流所需的所有信息
(typedef) [编辑]
非数组完整对象类型,能够唯一地指定文件中的位置和多字节解析器状态
(typedef) [编辑]

[编辑] 预定义标准流

在头文件 <stdio.h> 中定义
类型为 FILE* 的表达式,与输入流相关联
类型为 FILE* 的表达式,与输出流相关联
类型为 FILE* 的表达式,与错误输出流相关联
(宏常量) [编辑]

[编辑] 函数

文件访问
在头文件 <stdio.h> 中定义
打开文件
(函数) [编辑]
用不同的名称打开现有的流
(函数) [编辑]
关闭文件
(函数) [编辑]
将输出流与实际文件同步
(函数) [编辑]
设置文件流的缓冲区
(函数) [编辑]
设置文件流的缓冲区及其大小
(函数) [编辑]
在头文件 <wchar.h> 中定义
(C95)
在宽字符 I/O 和窄字符 I/O 之间切换文件流
(函数) [编辑]
直接输入/输出
在头文件 <stdio.h> 中定义
从文件读取
(函数) [编辑]
写入文件
(函数) [编辑]
非格式化输入/输出
窄字符
在头文件 <stdio.h> 中定义
从文件流获取字符
(函数) [编辑]
从文件流获取字符字符串
(函数) [编辑]
将字符写入文件流
(函数) [编辑]
将字符字符串写入文件流
(函数) [编辑]
stdin 读取字符
(函数) [编辑]
(在 C11 中移除)(C11)
stdin 读取字符字符串
(函数) [编辑]
将一个字符写入到stdout
(函数) [编辑]
将一个字符字符串写入到stdout
(函数) [编辑]
将一个字符回写到文件流
(函数) [编辑]
宽字符
在头文件 <wchar.h> 中定义
从文件流中读取一个宽字符
(函数) [编辑]
(C95)
从文件流中读取一个宽字符串
(函数) [编辑]
将一个宽字符写入到文件流
(函数) [编辑]
(C95)
将一个宽字符串写入到文件流
(函数) [编辑]
stdin读取一个宽字符
(函数) [编辑]
将一个宽字符写入到stdout
(函数) [编辑]
将一个宽字符回写到文件流
(函数) [编辑]
格式化输入/输出
窄字符
在头文件 <stdio.h> 中定义
stdin、文件流或缓冲区读取格式化输入
(函数) [编辑]
stdin、文件流或缓冲区读取格式化输入
使用可变参数列表
(函数) [编辑]
将格式化输出打印到stdout、文件流或缓冲区
(函数) [编辑]
将格式化输出打印到stdout、文件流或缓冲区
使用可变参数列表
(函数) [编辑]
宽字符
在头文件 <wchar.h> 中定义
stdin、文件流或缓冲区读取格式化宽字符输入
(函数) [编辑]
stdin、文件流
或缓冲区使用可变参数列表读取格式化宽字符输入
(函数) [编辑]
将格式化宽字符输出打印到stdout、文件流或缓冲区
(函数) [编辑]
将格式化宽字符输出打印到stdout、文件流
或缓冲区使用可变参数列表读取格式化宽字符输入
(函数) [编辑]
文件定位
在头文件 <stdio.h> 中定义
返回当前文件位置指示器
(函数) [编辑]
获取文件位置指示器
(函数) [编辑]
将文件位置指示器移动到文件中特定位置
(函数) [编辑]
将文件位置指示器移动到文件中特定位置
(函数) [编辑]
将文件位置指示器移动到文件开头
(函数) [编辑]
错误处理
在头文件 <stdio.h> 中定义
清除错误
(函数) [编辑]
检查文件末尾
(函数) [编辑]
检查文件错误
(函数) [编辑]
将当前错误对应的字符字符串显示到stderr
(函数) [编辑]
文件操作
在头文件 <stdio.h> 中定义
删除文件
(函数) [编辑]
重命名文件
(函数) [编辑]
返回一个指向临时文件的指针
(函数) [编辑]
返回一个唯一的文件名
(函数) [编辑]

[编辑] 宏常量

在头文件 <stdio.h> 中定义
EOF
类型为int且为负值的整型常量表达式
(宏常量)
FOPEN_MAX
可以同时打开的最大文件数
(宏常量)
FILENAME_MAX
保存最长支持文件名所需的char 数组的大小
(宏常量)
BUFSIZ
setbuf使用的缓冲区大小
(宏常量)
_IOFBF_IOLBF_IONBF
传递给setvbuf的参数,表示全缓冲I/O
传递给setvbuf的参数,表示行缓冲I/O
传递给setvbuf的参数,表示无缓冲I/O
(宏常量)
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> (p: TBD)
  • 7.29 扩展多字节和宽字符工具 <wchar.h> (p: TBD)
  • 7.31.11 输入/输出 <stdio.h> (p: TBD)
  • 7.31.16 扩展多字节和宽字符工具 <wchar.h> (p: TBD)
  • K.3.5 输入/输出 <stdio.h> (p: TBD)
  • C17 标准 (ISO/IEC 9899:2018)
  • 7.21 输入/输出 <stdio.h> (p: TBD)
  • 7.29 扩展多字节和宽字符工具 <wchar.h> (p: TBD)
  • 7.31.11 输入/输出 <stdio.h> (p: TBD)
  • 7.31.16 扩展多字节和宽字符工具 <wchar.h> (p: TBD)
  • K.3.5 输入/输出 <stdio.h> (p: TBD)
  • C11 标准 (ISO/IEC 9899:2011)
  • 7.21 输入/输出 <stdio.h> (p: 296-339)
  • 7.29 扩展多字节和宽字符工具 <wchar.h> (p: 402-446)
  • 7.31.11 输入/输出 <stdio.h> (p: 456)
  • 7.31.16 扩展多字节和宽字符工具 <wchar.h> (p: 456)
  • K.3.5 输入/输出 <stdio.h> (p: 586-603)
  • C99 标准 (ISO/IEC 9899:1999)
  • 7.19 输入/输出 <stdio.h> (p: 262-305)
  • 7.24 扩展多字节和宽字符工具 <wchar.h> (p: 348-392)
  • 7.26.9 输入/输出 <stdio.h> (p: 402)
  • 7.26.12 扩展多字节和宽字符工具 <wchar.h> (p: 402)
  • C89/C90 标准 (ISO/IEC 9899:1990)
  • 4.9 输入/输出 <stdio.h>
  • 4.13.6 输入/输出 <stdio.h>

[编辑] 另请参阅

C++ 文档 for C 样式文件输入/输出