Cómo leer un archivo de texto en C

Como Leer Un Archivo De Texto En C



archivos de texto se encuentran entre los tipos de archivo más utilizados en las computadoras. Pueden utilizarse para una amplia variedad de tareas, como almacenar documentos de texto o códigos fuente de programas. Se guardan en el sistema con .TXT extensión. Mientras trabaja en el código C, es posible que necesite leer un archivo de texto como parte de su proyecto u 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.

Leer un archivo de texto en C

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







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 serie de argumentos y los convierte en valores que puede usar su programa. Encuentra una cadena de formato dentro del archivo y devuelve una cadena de formato cuando lee del archivo. La cadena de formato debe estar entre comillas (“ ”) para que su programa no las 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. Todas las entradas de la lista de argumentos deben apuntar a variables cuyos tipos coincidan con los especificadores de tipo en cadena de formato.



Da EOF (fin de archivo) o el número de variables con valores asignados a ellas.





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

#incluir
int principal ( )
{
ARCHIVO * ptr = abierto ( 'nombre_archivo.txt' , 'r' ) ;
    si ( ptr == NULO ) {
        imprimir ( 'no existe tal archivo'. ) ;
        devolver 0 ;
    }
char buf [ 100 ] ;
    mientras ( fscanf ( ptr, '%s ' , buf ) == 1 )
        imprimir ( '%s \norte ' , buf ) ;
    devolver 0 ;
}

En este código, fopen() La función se utiliza para abrir el archivo bajo la variable de puntero ptr. fscanf() La función se usa para leer el archivo y luego imprimir su contenido.



Producción

Método 2: Usar 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 se almacena en un búfer. Los elementos de conteo son leídos en un búfer de matriz por el miedo() función del flujo de entrada, que se proporciona como un argumento de función.

Cuando se lee correctamente el número total de elementos, 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 principal ( )
{
búfer de caracteres [ 33 ] ;
ARCHIVO * arroyo;
flujo = abierto ( 'nombre_archivo.txt' , 'r' ) ;
int cuenta = pan ( & búfer, tamaño de ( carbonizarse ) , 33 , arroyo ) ;
cerrar ( arroyo ) ;
    imprimir ( 'Datos leídos del archivo: %s \norte ' , buffer ) ;
    imprimir ( 'Número de elementos leídos: %d' , contar ) ;
    devolver 0 ;
}

En este código, el fopen() se utiliza para abrir el archivo y luego el miedo() La función se usa para leer el archivo y luego imprimir su contenido. 33 muestra el número de caracteres que leerá del archivo.

Producción

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

Con el fgets() función, se lee una línea del flujo especificado y se almacena en la variable de cadena correspondiente. Cuando se leen (n-1) caracteres, el carácter de nueva línea o el final del archivo, o lo que ocurra primero, el programa finaliza. Si la función tiene éxito, se devuelve la misma cadena. El contenido de la cadena se mantiene en su lugar y se produce un puntero nulo si la función llega al final del archivo sin leer ningún carácter.

En caso de falla, proporciona un puntero nulo.

#incluir
int principal ( ) {
ARCHIVO * fp;
calle char [ 60 ] ;
fp = foabierto ( 'archivo.txt' , 'r' ) ;
    si ( fp == NULO ) {
      perror ( 'Error al abrir archivo' ) ;
      devolver ( - 1 ) ;
    }
    si ( fgets ( calle, 100 , fp ) ! =NULO ) {
pone ( calle ) ;
    }
cerrar ( fp ) ;
    devolver ( 0 ) ;
}

En este código, archivo.txt el archivo es abierto por fopen() función y luego fgets() Luego, la función se usa para leer las cadenas en el archivo y luego imprimirlas. 100 muestra el número de cadenas 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 utiliza para leer los caracteres uno por uno. La función luego devuelve el código ASCII del carácter que ha leído. Devuelve el carácter que estaba presente en el lugar indicado del puntero del archivo. El puntero del archivo luego pasa al siguiente carácter. Si hay un error o el puntero llega al final del archivo, esta función devuelve un EOF (fin de archivo).

#incluir
int principal ( )
{
ARCHIVO * fp = foabierto ( 'archivo.txt' , 'r' ) ;
    si ( fp == NULO )
    devolver 0 ;
    hacer {
char c = fgetc ( fp ) ;
        si ( miedo ( fp ) )
            romper ;
        imprimir ( '%C' , C ) ;
    } mientras ( 1 ) ;
cerrar ( fp ) ;
    devolver ( 0 ) ;
}

El ' archivo.txt El archivo es abierto por el fopen() función en este código bajo la variable de puntero fp. A continuación, los caracteres del archivo se leen con el fgetc() método, que imprime los caracteres que se leyeron.

Producción

Conclusión

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