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 do not 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).
| Function | Use |
|---|---|
| Close file | |
| Flush file to disk | |
| Create file | |
| Return next available file descriptor for given file | |
| Create second descriptor for given file | |
| Test for end of file | |
| Reposition file pointer to given location | |
| Open file | |
| Read data from file | |
| Open file for file sharing | |
| Get current file-pointer position | |
| Set file-permission mask | |
| Write data to file |
_dup and _dup2 are typically used to associate the predefined file descriptors with different files.