Input and Output
The C language does not have any I/O capability! You can access
files and devices via two groups of functions, these can be split
as shown below.
Low Level I/O
Low level functions provide direct access to files and devices. If you
only need file read and write you should use the
ANSI functions as your code will remain portable.
If you want to access things like, serial ports, virtual memory and
tape drives, low level I/O is for you.
Low level functions reference files by a
file descriptor, this descriptor
is created with the open function and
can be referenced by functions like:
mmap - Memory map (Not supported on Linux).
ioctl I/O control.
Three 'file descripters' are opened automatically when your program runs.
Desc Name device
---- ---- ------
0 stdin Keyboard
1 stdout Screen
2 stderr Screen
If you want to use these 'file descriptors', you do not have to issue an
ANSI standard functions
These functions are defined in the
The important thing to remember with these functions is the data
is presented in a consistant manor across all platforms. A record
is considered to be 0 or more characters followed by a
If the actual (physical) record is terminated in some other way, the
functions will perform the conversion for you.