FREAD(3S)
НАЗВАНИЕ
fread, fwrite - двоичный ввод/вывод
СИНТАКСИС
#include <stdio.h>
#include <sys/types.h>
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 меньше либо равно нулю, то ничего не считывается
и не записывается, и обе функции возвращают нулевое
значение.