Cómo leer un archivo de texto en c

Cómo leer un archivo de texto en c
Archivos de texto se encuentran entre los tipos de archivos más utilizados en las computadoras. Se pueden utilizar para una amplia variedad de tareas, como almacenar documentos de texto o códigos fuente del programa. Se guardan en el sistema con .TXT extensión. Mientras trabaja en el código C, es posible que deba leer un archivo de texto como parte de su proyecto o obtener ayuda del archivo de texto. En lugar de volver a la ubicación para leer un archivo de texto, es mejor leerlo dentro de un código.

Este artículo analiza formas útiles de leer un archivo de texto en el lenguaje de programación C.

Lea un archivo de texto en c

Hay cuatro métodos para leer un archivo de texto en C, que son.

  • fscanf () para leer un archivo de texto
  • fgets () para leer un archivo de texto
  • fgetc () para leer un archivo de texto
  • fread () para leer un archivo de texto

Método 1: Uso de la función fscanf () para leer un archivo de texto en c

El fscanf () La función es una función de biblioteca estándar que toma una variedad de argumentos y los convierte en valores que su programa puede usar. Encuentra una cadena de formato dentro del archivo y devuelve una cadena de formato al leer desde el archivo. La cadena de formato debe estar encerrada dentro de las cotizaciones ("") para que su programa no lo interprete como parte de su propia sintaxis.

El fscanf () la función lee datos en los lugares proporcionados por los elementos en la lista de argumentos. Las entradas de la lista de argumentos deben apuntar a variables cuyos tipos coinciden con el tipo de especificadores en la cuerda de formato.

Proporciona EOF (final del archivo) o el número de variables con valores asignados a ellos.

Veamos un ejemplo para leer un archivo de texto utilizando el fscanf () función:

#incluir
int main ()

Archivo* ptr = fopen ("file_name.txt "," r ");
if (ptr == null)
printf ("No existe dicho archivo.");
regresar 0;

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

En este código, fopen () La función se usa para abrir el archivo debajo de la variable de puntero PTR. fscanf () Luego se usa la función para leer el archivo e imprimir su contenido.

Producción

Método 2: Uso de la función fread () para leer un archivo de texto en c

Los datos del archivo son leídos por el Fread () método y almacenado en un búfer. Los elementos de arriba para contar se leen en un búfer de matriz por el Fread () función de la secuencia de entrada, que se suministra como argumento de función.

Cuando el número total de elementos se lee correctamente, se devuelve un objeto size_t. Si este valor es diferente del valor especificado por el programa, se produjo un error o se alcanzó el final del archivo.

#incluir
int main ()

buffer de char [33];
Archivo * stream;
stream = fopen ("file_name.txt "," r ");
int count = fread (& buffer, sizeof (char), 33, stream);
fclose (transmisión);
printf ("Datos leídos del archivo: %s \ n", buffer);
printf ("Número de elementos leída: %d", contar);
regresar 0;

En este código, el fopen () la función se usa para abrir el archivo y luego el Fread () Luego se usa la función para leer el archivo e imprimir su contenido. 33 muestra el número de caracteres que se leerá desde el archivo.

Producción

Método 3: Uso de la función fgets () para leer un archivo de texto en c

Con el fgets () función, se lee una línea de la secuencia especificada y se almacena en la variable de cadena correspondiente. Cuando (N-1) caracteres, el carácter Newline o el final del archivo se leen, o lo que ocurra primero, el programa finaliza.Si la función es exitosa, se devuelve la misma cadena. El contenido de la cadena se conserva en su lugar y se produce un puntero nulo si la función llega a un archivo final sin caracteres leídos.

En caso de falla, proporciona un puntero nulo.

#incluir
int main ()
Archivo *fp;
char str [60];
fp = fopen ("archivo.txt "," r ");
if (fp == null)
perror ("error en la apertura del archivo");
return (-1);

if (fgets (str, 100, fp)!= Nulo)
pone (str);

fclose (fp);
return (0);

En este código, archivo.TXT el archivo se abre por fopen () función y luego fgets () Luego se usa la función para leer las cadenas en el archivo y luego imprimirlas. 100 muestra el número de cuerdas que leerá.

Producción

Método 4: Uso de la función fgetc () para leer un archivo de texto en c

El fgtec () la función se usa para leer los caracteres uno por uno. La función luego devuelve el código ASCII del personaje que ha leído. Devuelve el personaje que estaba presente en el lugar establecido del puntero del archivo. El puntero del archivo luego pasa al siguiente personaje. Si hay un error o el puntero llega al final del archivo, esta función devuelve un EOF (fin de archivo).

#incluir
int main ()

Archivo *fp = fopen ("archivo.txt "," r ");
if (fp == null)
regresar 0;
hacer
char c = fgetc (fp);
if (FEOF (FP))
romper ;
printf ("%c", c);
while (1);
fclose (fp);
return (0);

El "archivo.TXTEl archivo está abierto por el fopen () función en este código bajo la variable de puntero FP. Luego se leen los caracteres del archivo utilizando el fgetc () método, que imprime los caracteres que se leyeron.

Producción

Conclusión

Leer archivos es una necesidad para cada usuario de la computadora, y especialmente para un desarrollador, es importante que pueda acceder a archivos utilizando su código. Por lo tanto, 4 métodos se mencionan anteriormente en el artículo para leer un Archivo de texto Usando el lenguaje C. fscanf () y Fread () se utilizan para leer los archivos de manera similar, con la excepción de que Fread () nos permite especificar el número de caracteres que el usuario quiere leer, mientras que fgets () se usa para leer un archivo línea por línea y fgetc () se usa para leer un archivo de personaje por personaje.