Compartilhar via


fwrite

Grava dados em um fluxo.

Sintaxe

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 retornado

fwrite Retorna o número de itens completos que a função grava, que pode ser menor do count que se ocorrer um erro. Além disso, se ocorrer um erro, o indicador de posição do arquivo não poderá ser determinado. Se or stream buffer for um ponteiro nulo ou se um número ímpar de bytes a serem gravados for especificado no modo Unicode, a função invocará o manipulador de parâmetro inválido, conforme descrito em Validação de 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 de arquivo associado a stream (se houver) é incrementado pelo número de bytes fwrite gravados. Se stream for aberto no modo de texto, cada avanço de linha será substituído por um par carro de retorno/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 de chamada, ela é thread-safe. Para uma versão sem bloqueio, consulte _fwrite_nolock.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Requisitos

Função Cabeçalho necessário
fwrite <stdio.h>

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

Exemplo

Confira o exemplo de fread.

Confira também

E/S de fluxo
_setmode
fread
_fwrite_nolock
_write