Fread C ++

Fread C ++
O manuseio de arquivos é uma das partes essenciais de todas as linguagens de programação. Escrever um código pequeno e simples, que só precisa de pequenas entradas e produz uma pequena saída, pode ser tratada facilmente no terminal. Mas quando se trata de dar uma grande entrada e a saída produzida também será enorme, os arquivos se tornarão necessários para usar. O manuseio de arquivos oferece maneiras eficientes de programar com enormes dados de entrada e saída. Além disso, você não precisa inserir a mesma entrada repetidamente e pode salvar a saída do programa para uso posterior. Aqui, aprenderemos a ler dados de um arquivo usando o fret () função.

Qual é a função de fret em c++?

O Fread A função é fornecida pelo CSTDIO.biblioteca H. O cstdio.H O arquivo de cabeçalho contém todas as funções que podem ser usadas em arquivo, i i.e., Leia, escreva, etc. O fret () A função é usada com arquivos para ler um bloco de dados de um fluxo de entrada. Ele lê a matriz de objetos de contagem, cada objeto de byte de tamanho a partir do fluxo de entrada e o armazena no fluxo de saída especificado pelo ponteiro. Os bytes totais lidos pela função Fread são tamanho*contagem. Ele retorna todos os elementos lidos com sucesso.

Sintaxe da função fret

O Fread Função leva quatro parâmetros: P, S, C e ST. O size_t é um tipo inteiro não assinado que define o tipo de variável. O parâmetro 'P' refere -se ao bloco de memória de pelo menos S*C contagem de tamanho de byte convertido em um vazio*. O parâmetro 'S' mantém o tamanho de cada elemento a ser lido. O fluxo de arquivos, do qual vamos ler os dados, é indicado pela opção 'ST'. Ele retorna os elementos que são lidos com sucesso e, em caso de erro, os elementos de retorno podem ser menores que a contagem. Os exemplos fornecidos abaixo ilustrarão o funcionamento do Fread função melhor.

Exemplo 1:
No primeiro exemplo de um artigo da Fread, criaremos um arquivo de texto na área de trabalho e escreveremos alguns dados. A função Fread será usada para ler os dados do arquivo. Veja o código abaixo:

#incluir
#incluir
usando namespace std;
int main ()

Arquivo* f;
Char B [100];
f = fopen ("teste.txt "," rb ");
enquanto (!feof (f))

fret (b, sizeof (b), 1, f);
cout << b;

retornar 0;

Dois arquivos de cabeçalho, bits/stdc++.h e cstdio estão incluídos no programa no início. Ao escrever um programa C ++, os arquivos de cabeçalho essenciais devem ser incluídos para que seus utilitários possam ser usados ​​no programa.

Por exemplo, o cstdio carrega todas as funções padrão que podem funcionar em arquivos como leitura, gravação e etc. Da mesma forma, os bits/stdc++.H detém todas as bibliotecas padrão. Então, quando você inclui isso, você incluiu todas as bibliotecas padrão de C ++ no programa. O 'Using Namespace STD' é uma biblioteca padrão que permite ao usuário usar todas as funções da biblioteca C ++ padrão. Avançando, o código completo é escrito na função principal () onde toda a execução e trabalho acontece.

O ponteiro do arquivo 'f' é definido com o arquivo* f, que apontará para o bloco de memória. Uma matriz 'b' do tamanho 100 e o char é definida para manter o tamanho dos dados que serão lidos no fluxo.

O fopen () A função abre o arquivo e pega pelo menos dois argumentos, o nome do arquivo e o modo do arquivo. Ele lança um erro se o arquivo ainda não existir ou não puder ser encontrado; ou então apenas abra o arquivo existente. O modo de arquivo (leia, escreva, anexa e etc.) refere -se ao modo em que o arquivo deve ser aberto. O nome do arquivo refere -se ao arquivo que precisa ser lido. Aqui, é fornecido o modo 'RB', o que indica que o arquivo deve abrir no formato binário para leitura. Ao abrir o arquivo, você precisa fornecer o caminho completo do arquivo onde ele existe. Por exemplo, seu arquivo está presente no documento, para que você deva adicionar o caminho completo aos documentos como este: "C: \\ Users \\\\ Document \\" ".

Em seguida, definimos um loop 'while' que itera através de cada elemento no arquivo e termina apenas quando encontrar o EOF (final do arquivo). No loop 'while', a função Fread é usada e todos os quatro parâmetros são passados ​​para leitura do arquivo. A instrução Cout imprimirá os dados presentes no arquivo no terminal.

Finalmente, a declaração de retorno 0 é usada indicando: Não devolva nada em caso de execução bem -sucedida. Pressione o botão F11 no teclado ou clique no ícone de execução na barra de ferramentas Dev C ++ para executar o programa. Agora, vamos ver a saída abaixo:

Exemplo 2:
Vamos demonstrar o funcionamento da função Fread quando o tamanho do arquivo é zero. Veja o código abaixo:

#incluir
#incluir
usando namespace std;
int main ()

Arquivo* f;
Char B [100];
f = fopen ("teste.txt "," rb ");
cout<<"Size of the File = "<retornar 0;

Aqui está a saída:

Exemplo 3:
Como vimos alguns exemplos simples e fáceis, vamos trabalhar com um exemplo complicado. Veja o código abaixo:

#incluir
enum size = 5;
int main (vazio)

duplo a [size] = 10, 20, 50, 70, 100;
Arquivo *f = fopen ("c: \\ usuários \\" nome do sistema "\\ ^ Desktop \\ testing.bin "," wb ");
fwrite (a, sizeof *a, tamanho, f);
fclose (f);
duplo B [tamanho];
f = fopen ("C: \\ Users \\" Nome do sistema "\\ ^ Desktop \\ Testing.bin "," rb ");
size_t r = fret (b, sizeof *b, tamanho, f);
if (r == size)
puts ("Array contents =");
para (int n = 0; n < SIZE; n++)
printf ("%f", b [n]);

fclose (f);

Aqui, declaramos um 'enum' para que o 'tamanho' possa ser usado de maneira mais conveniente. Ao alterar o valor de uma variável 'tamanho', ele muda no programa completo.

Uma matriz do tipo duplo é criada contendo os dados que serão gravados no arquivo. fopen () função abre um arquivo binário no modo de gravação 'wb'. Se o arquivo binário já existir, ele o abre no modo de gravação; Caso contrário, ele cria um novo arquivo com o nome do arquivo fornecido. O fwrite () A função é elenco para escrever o conteúdo da matriz em um arquivo. O fwrite () função leva os mesmos parâmetros que fret () função. Depois de escrever os dados no arquivo, o fclose () A função é usada para fechar o arquivo, para que nenhuma alteração desnecessária ou não intencional possa ser feita no arquivo.

O restante da função Fread é o mesmo que usamos em exemplos anteriores. Vamos ver o resultado deste código:

Como você pode ver, os dados da matriz são escritos com sucesso no arquivo.

Conclusão

Neste guia, tivemos uma visão geral de fret () função. Aprendemos a usar o Fread função com arquivos para ler os dados. Fizemos a demonstração prática para três maneiras diferentes de empregar o Fread função na linguagem de programação C ++.