文件输入/输出
来自cppreference.com
                    
                                        
                    < 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)  | 
   从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 数组大小 (宏常量)  | 
引用
- C11 standard (ISO/IEC 9899:2011):
 
- 7.21 Input/output <stdio.h> (p: 296-339)
 
- 7.29 Extended multibyte and wide character utilities <wchar.h> (p: 402-446)
 
- 7.31.11 Input/output <stdio.h> (p: 456)
 
- 7.31.16 Extended multibyte and wide character utilities <wchar.h> (p: 456)
 
- K.3.5 Input/output <stdio.h> (p: 586-603)
 
- C99 standard (ISO/IEC 9899:1999):
 
- 7.19 Input/output <stdio.h> (p: 262-305)
 
- 7.24 Extended multibyte and wide character utilities <wchar.h> (p: 348-392)
 
- 7.26.9 Input/output <stdio.h> (p: 402)
 
- 7.26.12 Extended multibyte and wide character utilities <wchar.h> (p: 402)
 
- C89/C90 standard (ISO/IEC 9899:1990):
 
- 4.9 INPUT/OUTPUT <stdio.h>
 
- 4.13.6 Input/output <stdio.h>