FREAD(3)

ИМЯ
fread, fwrite - ввод/вывод из двоичного потока

ОБЗОР
#include <stdio.h>

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

size_t fwrite(const void *ptr, size_t size, size_t nmemb,
              FILE *stream);

ОПИСАНИЕ
Функция fread() считывает nmemb единиц данных (размер каждого size байт) из потока, на который указывает stream, и сохраняет их в расположение, на которое указывает ptr.

Функция fwrite() записывает nmemb единиц данных (размер каждого size байт) в поток, на который указывает stream, получая их из расположения, на которое указывает ptr.

Неблокирующие аналоги смотрите в unlocked_stdio(3).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении функции fread() и fwrite() возвращают количество считанных или записанных единиц. Это количество равно количеству переданных байт только, если значение size равно 1. В случае ошибки или по достижении конца файла возвращается меньшее количество единиц (или ноль).

Функция fread() не отличает возникновение ошибки и достижения конца файла; для точного определения необходимо вызывать функции feof(3) и ferror(3).

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
fread(), fwrite() | безвредность в нитях | безвредно (MT-Safe)

СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, C89.

СМОТРИТЕ ТАКЖЕ
read(2), write(2), feof(3), ferror(3), unlocked_stdio(3)