Função de FEOF em C

Função de FEOF em C
Ler e escrever arquivos é sem dúvida uma ferramenta poderosa que nos permite ter ou armazenar qualquer tipo de informação e criar os bancos de dados para extração e processamento posteriores.

Esses dados são extraídos dos arquivos um por um em loops que são repetidos até que todas as informações sejam extraídas e chegamos ao final do arquivo

Nisso Linux Dica, Vamos mostrar como usar feof () Para determinar se as funções dos dados get retorna eof. Para ajudá -lo a usar essa função sem problemas, explicamos sua sintaxe, os argumentos de entrada e saída e o tipo de dados que são aceitos por cada um deles

Em seguida, implementamos essa função com exemplos práticos usando imagens e trechos de código que preparamos para você com vários arquivos.

Função Feof () Sintaxe na linguagem C

int feof (arquivo * f_ptr);

Descrição da função feof () no idioma C

O feof () função examina o endereço que é apontado por f_ptr no arquivo. Se não houver dados lá, determina que é EOF ou fim do arquivo e retorna “1”. Caso contrário, o resultado é "0". O EOF não é um personagem de fuga, mas um resultado que é retornado por algumas funções que recuperam os dados como getc ().

O feof () A função é muito útil e seu resultado é usado como uma condição nos loops de recuperação de arquivos para determinar o final do loop quando atingir o final e não há mais dados para recuperar.

O feof () é uma das funções na biblioteca padrão C. Antes de poder usar esta e outras funções de entrada e saída, você deve incluir o “stdio.H ”Cabeçalho para o“.Arquivo C ”:

#incluir

Como extrair os dados de um arquivo e usar a função feof () para determinar a saída do loop de extração

Neste exemplo, explicamos o processo passo a passo sobre como criar um loop para extrair os dados de um arquivo de texto e usar o feof () função para determinar a saída quando os últimos dados são extraídos.

O primeiro passo é definir o f_ptr ponteiro para o arquivo que queremos extrair. Este ponteiro é o argumento de entrada para feof () e getc (). Também definimos os dados c_ do tipo de char, que é a saída da função getc () no loop de extração.

#incluir
#incluir
principal()

Arquivo *f_ptr;
char c_;

O segundo passo é criar ou usar um arquivo de texto que abrimos para extrair os dados dele.

Para abrir o arquivo, chamamos a função fopen () e passamos o nome e o caminho como argumentos de entrada em que salvamos o arquivo e a leitura do atributo "R", que é separado por vírgulas. Aqui, usamos o “Exemplo de documentos/linux_hint .TXT" arquivo.

Como o argumento de saída para fopen (), enviamos o f_ptr ponteiro que definimos anteriormente:

F_PTR = FOPEN ("Documents/Linux_Hint Exemplo.txt "," r ");

Depois que o arquivo estiver aberto, f_ptr aponta para seus primeiros dados. Este ponteiro é o argumento de entrada para feof () e fgetc () na próxima etapa, que é o loop de recuperação.

Se o tamanho do arquivo não for conhecido, o loop de recuperação mais prático é um loop enquanto a condição de saída é o fim do arquivo, o resultado de feof ().

Em seguida, vejamos o loop de extração. Feof () é chamado em cada ciclo em que o getc () recupera um personagem do arquivo e o imprime na linha de comando com printf (). Se o resultado que é negado com “!”É igual a“ 0 ”, o loop é excitado.

enquanto ( ! feof (f_ptr)

printf ("%c", c_);
c_ = getc (f_ptr);

Com esse loop, agora podemos extrair e imprimir todos os dados até o final do arquivo que é apontado por f_ptr.

Na ilustração a seguir, vemos o código completo com a definição de variáveis ​​e ponteiros, a abertura do arquivo, a extração e a saída dos dados e o fechamento subsequente do arquivo:

#incluir
#incluir
principal()

Arquivo *f_ptr;
char c_;
F_PTR = FOPEN ("Documents/Linux_Hint Exemplo.txt "," r ");
c_ = getc (f_ptr);
enquanto ( ! feof (f_ptr))

printf ("%c", c_);
c_ = getc (f_ptr);

fclose (f_ptr);

Na imagem a seguir, vemos o arquivo de texto que usamos para este exemplo e a extração de seus dados que são impressos no console de comando:

Também podemos adicionar um contador para obter o número de caracteres extraídos. Para fazer isso, devemos definir o número inteiro c_count, que é incrementado cada vez que o loop de extração é executado e mostrá -lo no final.

#incluir
#incluir
principal()

Arquivo *f_ptr;
char c_;
intc_count = 0;
F_PTR = FOPEN ("Documents/Linux_Hint Exemplo.txt "," r ");
c_ = getc (f_ptr);
enquanto ( ! feof (f_ptr))

printf ("%c", c_);
c_ = getc (f_ptr);
c_count ++;

printf ("\ NEXTRATED CARACTERS: %li \ n", c_);
fclose (f_ptr);

Na figura a seguir, você pode ver o resultado da extração seguida pelo número de caracteres extraídos:

Conclusão

Nisso Linux Dica artigo, explicamos como usar feof () Para determinar o fim de um arquivo.

Também demonstramos o uso prático dessa função criando um aplicativo de console simples que extrai os dados de um arquivo de texto e usa feof () Para determinar o final do arquivo e encerrar o loop de extração. Também mostramos como usar as várias funções adicionais e complementares para abrir, fechar e editar os arquivos no idioma C. Esperamos que este artigo seja útil para você. Para artigos mais relevantes, Brose através do mecanismo de busca do Linux Dint.