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.