FREAD(3) | Руководство программиста Linux | 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.
2015-07-23 | GNU |