Man page - fwrite(3)

Packages contains this manual

Available languages:

en fr pt_BR es pl ko ja ru ro de

Manual

fread

NOME
BIBLIOTECA
SINOPSE
DESCRIÇÃO
VALOR DE RETORNO
ATRIBUTOS
PADRÕES
HISTÓRICO
EXEMPLOS
Fonte do programa
VEJA TAMBÉM
TRADUÇÃO

NOME

fread, fwrite - entrada/saĂ­da de fluxo binĂĄrio

BIBLIOTECA

Biblioteca C PadrĂŁo ( libc , -lc )

SINOPSE

#include <stdio.h>

size_t fread(void ptr [restrict . size * . nmemb ],
size_t
size , size_t nmemb ,
FILE *restrict
stream );
size_t fwrite(const void
ptr [restrict . size * . nmemb ],
size_t
size , size_t nmemb ,
FILE *restrict
stream );

DESCRIÇÃO

A função fread () lĂȘ nmemb elementos de dados, cada um com size bytes, do fluxo apontado por stream , armazenando-os no local dado por ptr .

A função fwrite () escreve nmemb elementos de dado, cada um com size bytes, no fluxo apontado por stream , obtendo-os a partir do local dado por ptr .

Para contrapartes nĂŁo bloqueantes, veja unlocked_stdio (3).

VALOR DE RETORNO

On success, fread () and fwrite () return the number of items read or written. This number equals the number of bytes transferred only when size is 1. If an error occurs, or the end of the file is reached, the return value is a short item count (or zero).

The file position indicator for the stream is advanced by the number of bytes successfully read or written.

fread () nĂŁi distingue entre fim de arquivo e erro, e os chamadores precisam usar feof (3) e ferror (3) para determinar o que ocorreu.

ATRIBUTOS

Para uma explicação dos termos usados nesta seção, consulte attributes (7).

Image grohtml-3938663-1.png

PADRÕES

C11, POSIX.1-2008.

HISTÓRICO

POSIX.1-2001, C89.

EXEMPLOS

The program below demonstrates the use of fread () by parsing /bin/sh ELF executable in binary mode and printing its magic and class:

$ ./a.out
ELF magic: 0x7f454c46
Class: 0x02

Fonte do programa

#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
int
main(void)
{
FILE *fp;
size_t ret;
unsigned char buffer[4];
fp = fopen("/bin/sh", "rb");
if (!fp) {
perror("fopen");
return EXIT_FAILURE;
}
ret = fread(buffer, sizeof(*buffer), ARRAY_SIZE(buffer), fp);
if (ret != ARRAY_SIZE(buffer)) {
fprintf(stderr, "fread() failed: %zu\n", ret);
exit(EXIT_FAILURE);
}
printf("ELF magic: %#04x%02x%02x%02x\n", buffer[0], buffer[1],
buffer[2], buffer[3]);
ret = fread(buffer, 1, 1, fp);
if (ret != 1) {
fprintf(stderr, "fread() failed: %zu\n", ret);
exit(EXIT_FAILURE);
}
printf("Class: %#04x\n", buffer[0]);
fclose(fp);
exit(EXIT_SUCCESS);
}

VEJA TAMBÉM

read (2), write (2), feof (3), ferror (3), unlocked_stdio (3)

TRADUÇÃO

A tradução para portuguĂȘs brasileiro desta pĂĄgina man foi criada por Rubens de Jesus Nogueira <darkseid99@usa.net> e AndrĂ© Luiz Fassone <lonely_wolf@ig.com.br>

Esta tradução Ă© uma documentação livre; leia a Licença PĂșblica Geral GNU VersĂŁo 3 ou posterior para as condiçÔes de direitos autorais. Nenhuma responsabilidade Ă© aceita.

Se vocĂȘ encontrar algum erro na tradução desta pĂĄgina de manual, envie um e-mail para a lista de discussĂŁo de tradutores .