Como ler um arquivo de texto em C

Como ler um arquivo de texto em C
Arquivos de texto estão entre os tipos de arquivos mais usados ​​em computadores. Eles podem ser utilizados para uma ampla variedade de tarefas, como armazenar documentos de texto ou códigos de origem do programa. Eles são salvos no sistema com .TXT extensão. Enquanto trabalha no código C, pode ser necessário ler um arquivo de texto como parte do seu projeto ou obter ajuda do arquivo de texto. Em vez de voltar ao local para ler um arquivo de texto, é melhor lê -lo dentro de um código.

Este artigo discute maneiras úteis de ler um arquivo de texto na linguagem de programação C.

Leia um arquivo de texto em C

Existem quatro métodos para ler um arquivo de texto em C, que são.

  • fScanf () para ler um arquivo de texto
  • fgets () para ler um arquivo de texto
  • fgetc () para ler um arquivo de texto
  • fret () para ler um arquivo de texto

Método 1: Usando a função fscanf () para ler um arquivo de texto em c

O fScanf () A função é uma função de biblioteca padrão que recebe uma variedade de argumentos e os converte em valores que podem ser usados ​​pelo seu programa. Ele encontra uma sequência de formato dentro do arquivo e retorna uma sequência de formato ao ler o arquivo. A sequência do formato deve ser anexada dentro das citações ("") para que elas não sejam interpretadas pelo seu programa como parte de sua própria sintaxe.

O fScanf () A função lê dados nos locais fornecidos pelos itens na lista de argumentos. As entradas da lista de argumentos devem apontar para variáveis ​​cujos tipos correspondem aos especificadores de tipo em formato.

Ele fornece EOF (final do arquivo) ou o número de variáveis ​​com valores atribuídos a eles.

Vejamos um exemplo para ler um arquivo de texto usando o fScanf () função:

#incluir
int main ()

Arquivo* ptr = fopen ("file_name.txt "," r ");
if (ptr == null)
printf ("Não existe esse arquivo.");
retornar 0;

Char BUF [100];
while (fscanf (ptr, "%s", buf) == 1)
printf ("%s \ n", buf);
retornar 0;

Neste código, fopen () A função é usada para abrir o arquivo sob a variável de ponteiro PTR. fScanf () A função é então usada para ler o arquivo e imprimir seu conteúdo.

Saída

Método 2: Usando a função Fread () para ler um arquivo de texto em C

Os dados do arquivo são lidos pelo Fret () método e armazenado em um buffer. Até a contagem de itens são lidos em um buffer de matriz pelo fret () função a partir do fluxo de entrada, que é fornecido como um argumento de função.

Quando o número total de itens é lido com sucesso, um objeto size_t é retornado. Se esse valor for diferente do valor especificado pelo programa, ocorreu um erro ou o final do arquivo foi alcançado.

#incluir
int main ()

buffer de char [33];
Arquivo * stream;
stream = fopen ("file_name.txt "," r ");
int conting = fread (& buffer, sizeof (char), 33, fluxo);
fclose (fluxo);
printf ("dados lidos no arquivo: %s \ n", buffer);
printf ("Número de elementos Leia: %d", contagem);
retornar 0;

Neste código, o fopen () a função é usada para abrir o arquivo e depois o fret () A função é então usada para ler o arquivo e imprimir seu conteúdo. 33 mostra o número de caracteres que ele lerá no arquivo.

Saída

Método 3: Usando a função fgets () para ler um arquivo de texto em c

Com o fgets () função, uma linha é lida no fluxo especificada e armazenada na variável de string correspondente. Quando (N-1) caracteres, o personagem Newline ou o final do arquivo são lidos, ou o que ocorrer primeiro, o programa termina.Se a função for bem -sucedida, a mesma string será retornada. O conteúdo da string é retido no lugar e um ponteiro nulo ocorre se a função atingir o fim do arquivo sem caracteres lidos.

No caso de um fracasso, ele fornece um ponteiro nulo.

#incluir
int main ()
Arquivo *fp;
CHAR STR [60];
fp = fopen ("arquivo.txt "," r ");
if (fp == null)
perror ("erro na abertura do arquivo");
retornar (-1);

if (fgets (str, 100, fp)!= Null)
coloca (str);

fclose (FP);
retornar (0);

Neste código, arquivo.TXT O arquivo é aberto por fopen () função e então fgets () A função é então usada para ler as cordas no arquivo e depois imprimi -las. 100 mostra o número de strings que ele lerá.

Saída

Método 4: Usando a função fgetc () para ler um arquivo de texto em c

O fgtec () A função é usada para ler os personagens um por um. A função retorna o código ASCII do personagem que ele leu. Ele retorna o personagem que estava presente no lugar declarado do ponteiro do arquivo. O ponteiro do arquivo segue para o próximo personagem. Se houver um erro ou o ponteiro atingir o final do arquivo, esta função retorna um EOF (final de arquivo).

#incluir
int main ()

Arquivo *fp = fopen ("arquivo.txt "," r ");
if (fp == null)
retornar 0;
fazer
char c = fgetc (fp);
if (feof (fp))
quebrar ;
printf ("%c", c);
while (1);
fclose (FP);
retornar (0);

O "arquivo.TXT”O arquivo é aberto pelo fopen () função neste código sob a variável ponteiro FP. Os caracteres do arquivo são então lidos usando o fgetc () método, que imprime os caracteres que foram lidos.

Saída

Conclusão

Ler arquivos é uma necessidade para cada usuário de computador, e especialmente para um desenvolvedor, é importante que ele possa acessar arquivos usando seu código. Portanto, 4 métodos são mencionados acima no artigo para ler um arquivo de texto usando a linguagem C. fScanf () e fret () são usados ​​para ler os arquivos da mesma forma, com a exceção que fret () nos permite especificar o número de caracteres que o usuário deseja ler, enquanto fgets () é usado para ler uma linha de arquivo por linha e fgetc () é usado para ler um personagem de arquivo por personagem.