テキスト モードとバイナリ モードのファイル入出力Text and Binary Mode File I/O

ファイル I/O 操作は、ファイルを開いたモードによって、2 つの変換モード、"テキスト" または "バイナリ" のいずれかで行われます。File I/O operations take place in one of two translation modes, text or binary, depending on the mode in which the file is opened. 通常、データ ファイルはテキスト モードで処理されます。Data files are usually processed in text mode. ファイル変換モードを制御するには、以下を行います。To control the file translation mode, one can:

  • 現在の既定の設定を保持し、選択したファイルを開く場合にのみ、別のモードを指定します。Retain the current default setting and specify the alternative mode only when you open selected files.

  • 関数 _set_fmode を使用して、新しく開くファイルの既定のモードを変更します。Use the function _set_fmode to change the default mode for newly opened files. _get_fmode を使用して、現在の既定のモードを取得します。Use _get_fmode to find the current default mode. 初期の既定値はテキスト モード (_O_TEXT) です。The initial default setting is text mode (_O_TEXT).

  • プログラム内でグローバル変数 _fmode を設定することで、既定の変換モードを直接変更します。Change the default translation mode directly by setting the global variable _fmode in your program. 関数 _set_fmode でこの変数の値を設定しますが、直接設定することもできます。The function _set_fmode sets the value of this variable, but it can also be set directly.

_openfopenfopen_sfreopenfreopen_s_fsopen、または_sopen_s などのファイルを開く関数を呼び出すときに、関数 _set_fmode に適切な引数を指定することで、_fmode の現在の既定の設定をオーバーライドすることができます。When you call a file-open function such as _open, fopen, fopen_s, freopen, freopen_s, _fsopen or _sopen_s, you can override the current default setting of _fmode by specifying the appropriate argument to the function _set_fmode. stdinstdoutstderr ストリームは常に既定でテキスト モードで開きます。これらのファイルのいずれかを開くときに、この既定の設定をオーバーライドすることもできます。The stdin, stdout, and stderr streams always open in text mode by default; you can also override this default when opening any of these files. ファイルを開いた後、ファイル記述子を使用して変換モードを変更するには、_setmode を使用します。Use _setmode to change the translation mode using the file descriptor after the file is open.

関連項目See also

入出力Input and Output
カテゴリ別ユニバーサル C ランタイム ルーチンUniversal C runtime routines by category