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 ++.