テキスト モードとバイナリ モードのファイル入出力
ファイル I/O 操作は、ファイルを開いたモードによって、2 つの変換モード、"テキスト" または "バイナリ" のいずれかで行われます。 多くの場合、データ ファイルはテキスト モードで処理されます。 ファイル変換モードを制御するには、以下を行います。
現在の既定の設定を保持し、選択したファイルを開く場合にのみ、別のモードを指定します。
関数
_set_fmode
を使用して、新しく開いたファイルの既定のモードを変更します。_get_fmode
を使用して、現在の既定のモードを見つけます。 既定の初期設定は ANSI テキスト モード (_O_TEXT
) です。既定の変換モードを直接変更するには、プログラムでグローバル変数
_fmode
を設定します。 関数_set_fmode
でこの変数の値を設定しますが、直接設定することもできます。
_open
、fopen
、fopen_s
、freopen
、freopen_s
、_fsopen
、_sopen_s
などのファイルを開く関数を呼び出すときは、関数_set_fmode
に適切な引数を指定することで、_fmode
の現在の既定の設定をオーバーライドできます。 stdin
、stdout
、stderr
ストリームは常に既定でテキスト モードで開きます。これらのファイルのいずれかを開くときに、この既定の設定をオーバーライドすることもできます。 _setmode
を使用して、ファイルを開いた後でファイル記述子を使用して変換モードを変更します。