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


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.

Эквивалент в .NET Framework

System::IO::FileStream::Write

См. также

Ссылки

Потоковый ввод-вывод

_setmode

fread

_fwrite_nolock

_write