Low-level I/O
These functions invoke the operating system directly for lower-level operation than that provided by stream I/O. Low-level input and output calls don't buffer or format data.
Low-level routines can access the standard streams opened at program startup using the following predefined file descriptors.
Stream | File Descriptor |
---|---|
stdin |
0 |
stdout |
1 |
stderr |
2 |
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
Function | Use |
---|---|
_close |
Close file |
_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.
See also
Input and output
Universal C runtime routines by category
System calls