Scroll to navigation

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.

СМ. ТАКЖЕ

read(2), write(2), feof(3), ferror(3), unlocked_stdio(3)

ЗАМЕЧАНИЯ

Эта страница является частью проекта Linux man-pages версии 4.16. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

23 июля 2015 г. GNU