◐ Shell
clean mode source ↗

文件输入/输出 - cppreference.com

来自cppreference.com

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

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

输入/输出流由 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> 定义

删除文件
(函数) [编辑]
重命名文件
(函数) [编辑]
返回指向临时文件的指针
(函数) [编辑]
返回唯一的文件名
(函数) [编辑]

宏常量

值为负的 int 类型整数常量表达式
(宏常量)
能同时打开的最大文件数
(宏常量)
保有最长受支持文件名所需的 char 数组大小
(宏常量)
所有(可能取反的)非数(NaN)值可输出的最大字符数
(宏常量)
setbuf 所用的缓冲区大小
(宏常量)
表示 setvbuf 要设置的缓冲模式(全缓冲/行缓冲/无缓冲)
(宏常量)
表示 fseek 要用到的偏移原点(文件首/当前位置/文件尾)
(宏常量)
tmpnam / tmpnam_s 所能生成的独有文件名的最大数量
(宏常量)
保有 tmpnam / tmpnam_s 结果所需的 char 数组大小
(宏常量)

引用

  • C23 标准(ISO/IEC 9899:2024):
  • 7.21 Input/output <stdio.h> (第 TBD 页)
  • 7.29 Extended multibyte and wide character utilities <wchar.h> (第 TBD 页)
  • 7.31.11 Input/output <stdio.h> (第 TBD 页)
  • 7.31.16 Extended multibyte and wide character utilities <wchar.h> (第 TBD 页)
  • K.3.5 Input/output <stdio.h> (第 TBD 页)
  • C17 标准(ISO/IEC 9899:2018):
  • 7.21 Input/output <stdio.h> (第 TBD 页)
  • 7.29 Extended multibyte and wide character utilities <wchar.h> (第 TBD 页)
  • 7.31.11 Input/output <stdio.h> (第 TBD 页)
  • 7.31.16 Extended multibyte and wide character utilities <wchar.h> (第 TBD 页)
  • K.3.5 Input/output <stdio.h> (第 TBD 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.21 Input/output <stdio.h> (第 296-339 页)
  • 7.29 Extended multibyte and wide character utilities <wchar.h> (第 402-446 页)
  • 7.31.11 Input/output <stdio.h> (第 456 页)
  • 7.31.16 Extended multibyte and wide character utilities <wchar.h> (第 456 页)
  • K.3.5 Input/output <stdio.h> (第 586-603 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.19 Input/output <stdio.h> (第 262-305 页)
  • 7.24 Extended multibyte and wide character utilities <wchar.h> (第 348-392 页)
  • 7.26.9 Input/output <stdio.h> (第 402 页)
  • 7.26.12 Extended multibyte and wide character utilities <wchar.h> (第 402 页)
  • C89/C90 标准(ISO/IEC 9899:1990):
  • 4.9 INPUT/OUTPUT <stdio.h>
  • 4.13.6 Input/output <stdio.h>

参阅