Программирование на C и C++

Онлайн справочник программиста на C и C++

read, _rtl_read

int read(int fd, void *buf, unsigned count)

int _rtl_read(int fd, void *buf, unsigned count)

Прототип: 
Описание: 

Ни одна из этих функций не определена стандартом ANSI С. Функция read() является частью UNIX-подобной системы ввода/вывода. Функция _rtl_read() является принадлежностью Borland С++ и операционной системы Windows.

Функция read() считывает count байт из файла, описываемого аргументом fd, в буфер, на который указывает аргумент buf Указателю положения в файле дается приращение на количество считанных байт. Если файл открыт в текстовом режиме, то может иметь место транслирование символов.

Функция возвращает количество действительно считанных байт. Это количество может быть меньше, чем count, если встретился маркер конца файла или если до того, как было считано count байт, произошла ошибка. В случае ошибки возвращается —1, а 0 возвращается при попытке чтения в конце файла. Если произошла ошибка, errno устанавливается в одно из следующий значений:

EACCESS Доступ запрещен
EBADF Недействительный номер файла

  Разница между функциями read() и _rtl_read() заключается в том, что read() удаляет символы «возврат каретки» и возвращает EOF при считывании из текстового файла CTRL-Z. Функция _rtl_read() не выполняет этих действий.

Пример: