Поделиться через


fwrite

Записывает данные в поток.

Синтаксис

size_t fwrite(
   const void *buffer,
   size_t size,
   size_t count,
   FILE *stream
);

Параметры

buffer
Указатель на записываемые данные.

size
Размер элемента, в байтах.

count
Максимальное число записываемых элементов.

stream
Указатель на структуру FILE .

Возвращаемое значение

fwrite возвращает количество полных элементов, записываемых функцией, что может быть меньше, чем count при возникновении ошибки. Кроме того, если возникает ошибка, индикатор положения файла не может быть определен. Если или stream buffer имеет значение NULL, или если в режиме Юникода указано нечетное число байтов, функция вызывает обработчик недопустимых параметров, как описано в разделе проверки параметров. Если продолжение выполнения разрешено, эта функции задает для errno значение EINVAL и возвращает 0.

Замечания

Функция fwrite записывает до count элементов (каждый длиной size) из buffer в выходной stream. Указатель на файл, связанный с stream (если есть один), увеличивается по количеству операций записи байтов fwrite . Если stream он открыт в текстовом режиме, каждый веб-канал строки заменяется парой канала возвращаемой строки каретки. Замена не влияет на возвращаемое значение.

Если stream открыт в режиме преобразования Юникода (например, если stream открывается вызовом метода fopen и с помощью параметра режима, который включает ccs=UNICODE, ccs=UTF-16LE или ccs=UTF-8, или если режим изменен на режим преобразования Юникода с помощью _setmode и параметра режима, который включает _O_WTEXT, _O_U16TEXT или _O_U8TEXT), buffer интерпретируется как указатель на массив wchar_t, который содержит данные UTF-16. Попытка записи нечетного числа байт в этом режиме приводит к возникновению ошибки проверки параметра.

Так как эта функция блокирует вызывающий поток, он является потокобезопасной. Сведения о неблокирующей версии см. в описании функции _fwrite_nolock.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Function Обязательный заголовок
fwrite <stdio.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

Пример см. в примере fread.

См. также

Потоковый ввод-вывод
_setmode
fread
_fwrite_nolock
_write