文件和 IO 流

模式字符串:

fopen()freopen() 中的模式字符串可以是以下值之一:

  • r:以只读模式打开文件,光标设置为文件的开头。
  • r+:以读写模式打开文件,光标设置为文件的开头。
  • w:以只写模式打开或创建文件,其内容被截断为 0 字节。光标设置为文件的开头。
  • w+:以读写模式打开或创建文件,其内容被截断为 0 字节。光标设置为文件的开头。
  • a:以只写模式打开或创建文件,光标设置为文件末尾。
  • a+:以读写模式打开或创建文件,将读取光标设置为文件的开头。但是,输出将始终附加到文件的末尾。

这些文件模式中的每一个都可以在首字母后添加 b(例如 rba+bab+)。b 意味着该文件应被视为二进制文件,而不是那些存在差异的系统上的文本文件。它在类 Unix 系统上没有什么区别; 它在 Windows 系统上很重要。 (此外,Windows fopen 允许使用明确的 t 而不是 b 来指示文本文件 - 以及许多其他特定于平台的选项。)

Version >= C11

  • wx:以只写模式创建文本文件。该文件可能不存在
  • wbx:以只写模式创建二进制文件。该文件可能不存在

x(如果存在)必须是模式字符串中的最后一个字符。