fwrite
Записывает данные в поток.
size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
Параметры
buffer
Указатель на записываемые данные.size
Размер элемента, в байтах.count
Максимальное число записываемых элементов.stream
Указатель на структуру FILE.
Возвращаемое значение
fwrite возвращает число полных фактически записанных элементов, которое может быть меньше, чем count, если возникает ошибка. Кроме того, в случае возникновения ошибки невозможно определить индикатор положения файла. Если stream или buffer является пустым указателем или в режиме Юникода указывается нечетное число байт для записи, функция вызывает обработчик недопустимых параметров, как описано в разделе Проверка параметров. Если продолжение выполнения разрешено, эта функции задает для errno значение EINVAL и возвращает 0.
Заметки
Функция fwrite записывает до count элементов (каждый длиной size) из buffer в выходной stream. Указатель файла, связанный с stream (при наличии), возрастает на число фактически записанных байт. Если 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.
Требования
Функция |
Обязательный заголовок |
---|---|
fwrite |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
См. пример для fread.