• FILE 该类型的对象存储了用于控制一个 C 型 I/O 流的所有信息
    fpos_t 该类型的对象唯一地指定了文件中的一个位置
    size_t 由 sizeof 操作符返回的无符号整数类型
  • NULL 由编译器定义(Implementation-defined)的空指针常量
    stdin FILE* 类型的表达式,与标准输入流关联
    stdout FILE* 类型的表达式,与标准输出流关联
    stderr FILE* 类型的表达式,与标准错误输出流关联
    EOF int 类型的宏定义,扩展成一个负整数常量表达式(通常为 -1)
    FOPEN_MAX 能够同时打开的文件数
    FILENAME_MAX 可以容纳所支持的最长文件名的 char 型数组所需的大小
    BUFSIZ std::setbuf 函数所使用的缓存的大小
    _IOFBF 传递给 std::setvbuf 的参数,表明 I/O 缓存模式为全缓存(Fully buffered)
    _IOLBF 传递给 std::setvbuf 的参数,表明 I/O 缓存模式为线性缓存(Line buffered)
    _IONBF 传递给 std::setvbuf 的参数,表明 I/O 缓存模式为无缓存(Unbuffered)
    SEEK_SET 传递给 std::fseek 的参数,表明从文件开头(Beginning)开始移动文件指针(Seek)
    SEEK_CUR 传递给 std::fseek 的参数,表明从当前文件位置(Current file position)开始移动文件指针
    SEEK_END 传递给 std::fseek 的参数,表明从文件末尾(End)开始移动文件指针
    TMP_MAX std::tmpnam 能够生成的唯一文件名的最大数量
    L_tmpnam 可以容纳 std::tmpnam 生成的文件名的 char 型数组所需的大小
  • 文件访问

    fopen 打开一个文件
    freopen 打开一个文件,且绑定到一个已经存在的流上
    fclose 关闭一个文件
    fflush 使输出流的内容与真实文件的内容同步,即将内存中的内容刷新(Flush)到文件中
    fwide 使一个文件流在宽字符(Wide character) I/O 模式与窄字符(Narrow character) I/O 模式之间切换
    setbuf 设置用于 C 文件流的内部缓存
    setvbuf 设置用于 C 文件流的内部缓存及缓存的大小

    直接输入输出

    fread 读文件
    fwrite 写文件

    未格式化的输入输出

    窄字符(Narrow character)

    fgetc 从 C 文件流中获取一个字符
    getc 从 C 文件流中获取一个字符
    fgets 从 C 文件流中获取一个字符串
    fputc 将一个字符写入到 C 文件流
    putc 将一个字符写入到 C 文件流
    fputs 将一个字符串写入到 C 文件流
    getchar stdin (标准 C 输入流)中读取一个字符
    gets stdin (标准 C 输入流)中读取一个字符串
    putchar 将一个字符输出到 stdout (标准 C 输出流)
    puts 将一个字符串输出到 stdout (标准 C 输出流)
    ungetc 将一个字符放回到 C 文件流中

    格式化的输入输出

    窄字符或多字节字符(Narrow/multibyte characte)

    scanf stdin (标准 C 输入流)中读取格式化输入
    fscanf 从 C 文件流中读取格式化输入
    sscanf 从一个缓存中读取格式化输入
    vscanf C++11 使用可变参数列表从 stdin (标准 C 输入流)中读取格式化输入
    vfscanf C++11 使用可变参数列表从 C 文件流中读取格式化输入
    vsscanf C++11 使用可变参数列表从一个缓存中读取格式化输入
    printf 打印格式化输出到 stdout (标准 C 输出流)
    fprintf 打印格式化输出到 C 文件流
    sprintf 打印格式化输出到缓存
    snprintf C++11 打印格式化输出到缓存,且限制缓存大小
    vprintf 使用可变参数列表打印格式化输出到 stdout (标准 C 输出流)
    vfprintf 使用可变参数列表打印格式化输出到 C 文件流
    vsprintf 使用可变参数列表打印格式化输出到缓存
    vsnprintf C++11​ 使用可变参数列表打印格式化输出到缓存,且限制缓存大小

    文件位置

    ftell 返回 C 文件流的当前位置
    fgetpos 返回与 C 文件流关联的位置指示器(Position indicator)
    fseek 设置 C 文件流的当前位置
    fsetpos 设置与 C 文件流关联的位置指示器
    rewind 设置与 C 文件流关联的位置指示器,使其指向文件起始(Beginning)

    错误处理

    clearerr 清空错误
    feof 检测给定 C 文件流是否已经到达末尾(End)
    ferror 检测给定 C 文件流是否发生错误
    perror 打印当前错误码对应的字符串到 stderr (标准错误输出流)

    对整个文件的操作

    remove 删除文件
    rename 重命名文件
    tmpfile 创建及打开一个临时(Temporary)且会自动删除(Auto-removing)的文件
    tmpnam 返回一个唯一的文件命