Text and Binary Mode File I/O
The latest version of this topic can be found at Text and Binary Mode File I-O.
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.
Change the default translation mode directly by setting the global variable _fmode in your program. The function
_set_fmodesets the value of this variable, but it can also be set directly.
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. The
stderr streams always open in text mode by default; you can also override this default when opening any of these files. Use _setmode to change the translation mode using the file descriptor after the file is open.