The Developer's Toolkit compiler supports both stream and low-level I/O. The primary difference between the two types of I/O is that low-level I/O leaves the responsibility of buffering and formatting up to you.
In general, you should not mix input or output from low-level I/O with that from stream I/O. The only way to communicate between stream I/O and low-level I/O is by using the fdopen or fileno functions.
The low-level I/O functions include: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ access ³ dup2 ³ fstat ³ _setmode ³
³ chmod ³ __eof ³ isatty ³ _sopen ³
³ _chsize ³ fdopen ³ lseek ³ stat ³
³ close ³ _filelength ³ open ³ _tell ³
³ creat ³ fileno ³ read ³ umask ³
³ dup ³ ³ ³ write ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
When you use the low-level I/O functions, you should be aware of the following:
Portability Note Other compilers may map the file handle so that the C_handle and API_handle are different. If you will be compiling your programs with other compilers, do not write code that depends on the file handles being the same.
You can pass handles between library environments without restriction. If you acquire a handle other than by using The Developer's Toolkit library functions open, creat, _sopen, or fileno, you must run _setmode for that handle before you use it with other The Developer's Toolkit library functions.