Compartilhar via


fwrite

Grava dados em um fluxo.

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

Parâmetros

  • buffer
    Ponteiro para os dados a serem gravados.

  • size
    Tamanho do item, em bytes.

  • count
    Máximo de itens a serem gravados.

  • stream
    Ponteiro para a estrutura FILE.

Valor de retorno

fwrite retorna quantos itens são gravados, o que pode ser menor que count em caso de erro. Além disso, em caso de erro, não será possível determinar o indicador de posição do arquivo. Se o ponteiro stream ou buffer for nulo ou se houver uma quantidade ímpar de bytes a serem gravados no modo Unicode especificado, a função invocará o manipulador de parâmetro inválido, como descrito em Validação do parâmetro. Se a execução tiver permissão para continuar, essa função define errno como EINVAL e retorna 0.

Comentários

A função fwrite grava até count itens, com size de comprimento cada um, de buffer até ostream de saída. O ponteiro do arquivo associado a stream (se houver) é incrementado pela quantidade de bytes gravados. Se stream for aberto no modo de texto, cada avanço de linha será substituído por um par carro de retorno de avanço de linha. A substituição não interfere no valor retornado.

Quando stream é aberto no modo de conversão Unicode (por exemplo, se stream for aberto com a chamada de fopen e o uso de um parâmetro de modo que inclua ccs=UNICODE, ccs=UTF-16LE ou ccs=UTF-8, ou se o modo for alterado para um modo de conversão de Unicode com o uso de _setmode e um parâmetro de modo que inclua _O_WTEXT, _O_U16TEXT ou _O_U8TEXT)buffer é interpretado como ponteiro para uma matriz de wchar_t que contém dados UTF-16. Tentar gravar uma quantidade ímpar de bytes nesse modo gera um erro de validação de parâmetro.

Como essa função bloqueia o thread da chamada, ela é thread-safe. Para uma versão sem bloqueio, consulte _fwrite_nolock.

Requisitos

Função

Cabeçalho necessário

fwrite

<stdio.h>

Para obter informações adicionais sobre compatibilidade, consulte Compatibilidade.

Exemplo

Veja o exemplo de thread.

Equivalência do .NET Framework

System::IO::FileStream::Write

Consulte também

Referência

E/S de fluxo

_setmode

fread

_fwrite_nolock

_write