文本和二进制模式文件 I/O

文件 I/O 操作将在文本或二进制这两种转换模式之一中进行,具体取决于文件是在哪种模式下打开的。 数据文件通常在文本模式下处理。 若要控制文件转换模式,可以:

  • 保留当前默认设置,并且仅在打开选定文件时指定替代模式。

  • 使用函数 _set_fmode 更改新打开的文件的默认模式。 使用 _get_fmode 查找当前默认模式。 初始默认设置为 ANSI 文本模式(_O_TEXT)。

  • 通过在程序中设置全局变量 _fmode 来直接更改默认转换模式。 函数 _set_fmode 将设置此变量的值,不过也可以直接设置它。

当调用一个文件打开函数(如 _openfopenfopen_sfreopenfreopen_s_fsopen_sopen_s)时,可通过指定函数 _set_fmode 的相应自变量来重写 _fmode 的当前默认设置。 默认情况下,stdinstdoutstderr 流始终在文本模式中打开;在打开这些文件中的任一文件时,也可以重写该默认值。 使用 _setmode 可在文件打开后利用文件说明符更改转换模式。

另请参阅

输入和输出
按类别分的通用 C 运行时例程