FREAD(3S) FREAD(3S)
НАЗВАНИЕ
fread, fwrite - двоичный ввод/вывод
СИНТАКСИС
#include
#include
int fread (ptr, size, nitems, stream)
char *ptr;
int nitems;
size_t size;
FILE *stream;
int fwrite (ptr, size, nitems, stream)
char *ptr;
int nitems;
size_t size;
FILE *stream;
ОПИСАНИЕ
Функция fread считывает nitems элементов данных из за-
данного потока ввода stream в область памяти, на начало
которой указывает аргумент ptr. Элементом данных счита-
ется последовательность байт (не обязательно завершаю-
щаяся нулевым байтом) длины size. Функция fread прекра-
щает считывание байт в случае достижения конца файла,
обнаружения ошибки, а также если считаны nitems элемен-
тов. После выполнения функции fread текущей позицией в
потоке становится байт, следующий за последним прочи-
танным; содержимое потока stream не изменяется.
Функция fwrite записывает не более nitems элементов
данных из области памяти, на начало которой указывает
аргумент ptr, в заданный поток вывода stream. В случае
обнаружения ошибки fwrite прекращает запись. После вы-
полнения функции fwrite текущей позицией в потоке ста-
новится байт, следующий за последним записанным; содер-
жимое записываемого массива не изменяется.
Аргументом size, как правило, является sizeof(*ptr),
где псевдофункция sizeof возвращает длину элемента дан-
ных, адресуемых указателем ptr. Если аргумент ptr не
является указателем на символ, его следует преобразо-
вать к типу (char *).
СМ. ТАКЖЕ
read(2), write(2), fopen(3S), getc(3S), gets(3S),
printf(3S), putc(3S), puts(3S), scanf(3S), stdio(3S).
ДИАГНОСТИКА
Функции fread и fwrite возвращают фактическое количест-
во прочитанных или записанных элементов данных. Если
nitems меньше либо равно нулю, то ничего не считывается
и не записывается, и обе функции возвращают нулевое
значение.
|