These functions invoke the operating system directly for lower-level operation than that provided by stream I/O. Low-level input and output calls do not buffer or format data.
Low-level routines can access the standard streams opened at program startup using the following predefined file descriptors.
Low-level I/O routines set the errno global variable when an error occurs. You must include STDIO.H when you use low-level functions only if your program requires a constant that is defined in STDIO.H, such as the end-of-file indicator (EOF).
Low-Level I/O Functions
|_commit||Flush file to disk|
|_creat, _wcreat||Create file|
|_dup||Return next available file descriptor for given file|
|_dup2||Create second descriptor for given file|
|_eof||Test for end of file|
|_lseek, _lseeki64||Reposition file pointer to given location|
|_open, _wopen||Open file|
|_read||Read data from file|
|_sopen, _wsopen, _sopen_s, _wsopen_s||Open file for file sharing|
|_tell, _telli64||Get current file-pointer position|
|_umask, _umask_s||Set file-permission mask|
|_write||Write data to file|
_dup and _dup2 are typically used to associate the predefined file descriptors with different files.