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
.