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
.