Leer un archivo de texto e imprimir todo instrumentos de cuerda es una tarea clave que los programadores realizan con frecuencia. Es importante comprender los conceptos básicos de lectura a Archivo de texto En C y como imprimir el instrumentos de cuerda a partir de él antes de intentar esta tarea.
La lectura de un archivo de texto y la impresión de todas las cadenas que contiene se demostrará utilizando la programación C en este artículo.
Lea un archivo de texto e imprima todas las cadenas en C
Hay cuatro funciones para leer un archivo de texto e imprimir todas las cadenas en C, que son las siguientes:
Método 1: función fread ()
Los datos son Leer desde el archivo y almacenado en un búfer usando la función C Fread (). Para contar elementos en un búfer de matriz, el Fread () Se lee en el método del flujo de entrada proporcionado como el parámetro de función. A medida que se lee cada función de caracteres, el indicador de posición del archivo para la secuencia de entrada especificada avanza hacia adelante.
El Fread () El método en C tiene la sintaxis.
size_t fread (void * array_buffer, size_t size, size_t count, file * file_stream)
Veamos los parámetros de la función fread () con más detalle:
búfer de matriz: Los datos se mantienen temporalmente en el búfer de una computadora, un espacio de memoria. Este argumento es un puntero que se refiere al lugar en la memoria del búfer que contendrá los datos leer Desde la secuencia de entrada.
tamaño: Este argumento instruye la función de cuántos bytes de datos se leerán de la secuencia de entrada para cada bloque.
contar: Especifica cuántos caracteres se leerán del flujo de entrada de datos.
file_stream: Es un puntero que se refiere a un objeto de archivo.
#incluir
#incluir
int main ()
Archivo *archivo;
buffer de char [100];
file = fopen ("c_file.txt "," r ");
if (file == null)
printf ("Error: no se pudo abrir el archivo \ n");
regresar 1;
int count = fread (& buffer, sizeof (char), 100, archivo);
fclose (archivo);
printf ("Los datos leídos del archivo son: %s \ n", buffer);
printf ("Número de elementos leída: %d", contar);
fclose (archivo);
regresar 0;
En este ejemplo, definimos un búfer de tamaño de matriz de personajes de tamaño 100 Antes de utilizar fopen () Para abrir el archivo de texto C_file.TXT en modo de lectura. Usando una instrucción IF, determinamos si el archivo se abrió correctamente. El siguiente paso es leer hasta 100 bytes de datos del archivo utilizando Fread (). El búfer de destino, en este caso la matriz de búfer, es el primer parámetro en Fread (). El segundo argumento, tamaño de, Determina el tamaño de cada elemento que se lee mientras leemos en personajes. La tercera entrada es la cantidad que se lee, que en este caso es 100. El puntero de archivo es el cuarto parámetro. Por último, usamos printf () para imprimir los datos leídos del archivo y fclose () Para cerrar el archivo. Ejecutar este programa daría como resultado resultados como este, si C_file.TXT:
Producción
Método 2: función fgets ()
El lenguaje C fgets () El método lee n caracteres de la transmisión a la cadena STR. El fgets () El método continúa leyendo caracteres de la transmisión hasta (N-1) Se han leído los caracteres, se ha detectado un personaje de Newline o se ha alcanzado el final del archivo (EOF).
#incluir
int main ()
Archivo *archivo;
buffer de char [100];
file = fopen ("c_file.txt "," r ");
if (file == null)
printf ("Error: no se pudo abrir el archivo \ n");
regresar 1;
while (fgets (buffer, 100, archivo))
printf ("Cadena Leer desde el archivo: %s", buffer);
fclose (archivo);
regresar 0;
Este ejemplo usa fopen () Para abrir un archivo de texto llamado C_file.TXT en modo de lectura después de declarar primero un búfer de tamaño de matriz de personajes 100. Usando una instrucción IF, determinamos si el archivo se abrió correctamente. Después de eso, empleamos un bucle de tiempo y fgets () Para leer líneas de texto del archivo utilizando un puntero de archivo. Usando printf () Dentro del bucle, imprimemos cada línea de texto. Ejecutar este programa proporcionaría la salida:
Producción
Método 3: función fscanf ()
Un método de biblioteca estándar llamado fscanf () acepta una variedad de parámetros y los transforma en valores que su aplicación puede utilizar. Mientras Lectura del archivo, devolverá la cadena de formato en lugar de cualquier cosa que anticipe ver dentro. Para evitar que su software interprete la cadena de formato como parte de su propia sintaxis, debe estar rodeada de cotizaciones ("").
#incluir
int main ()
Archivo *archivo;
int num1, num2, num3;
file = fopen ("c_file.txt "," r ");
if (file == null)
printf ("Error: no se pudo abrir el archivo \ n");
regresar 1;
FSCANF (archivo, " %d %d %d", y num1, y num2, y num3);
printf ("Los números leídos del archivo son: %d, %d, %d \ n", num1, num2, num3);
fclose (archivo);
regresar 0;
Este ejemplo abre el archivo C_file.TXT en modo de lectura declarando por primera vez 3 variables int, num1, num2 y num3. Usando una instrucción IF, determinamos si el archivo se abrió correctamente. El siguiente paso es leer tres números del archivo usando fscanf () y el %d formato especificador. Las variables num1, num2 y num3 son donde se mantienen los valores. Por último, usamos printf () para generar los valores de estas variables y fclose () Para cerrar el archivo. Ejecutar este programa daría como resultado los resultados que se muestran a continuación:
Producción
Método 4: función fgetc ()
Un archivo puede ser leer personaje por personaje usando el fgetc () función. El código ASCII para el personaje que lee esta función se devuelve por esta función. Se devuelve el personaje de la ubicación especificada del puntero del archivo. El siguiente personaje se lee una vez que el personaje ha sido leído, de acuerdo con el puntero del archivo. Este método devuelve un archivo EOF si el puntero está al final del archivo o si hay un problema.
#incluir
int main ()
Archivo *archivo;
char c;
file = fopen ("c_file.txt "," r ");
if (file == null)
printf ("Error: no se pudo abrir el archivo \ n");
regresar 1;
while ((c = fgetc (archivo)) != Eof)
printf ("%c", c);
fclose (archivo);
regresar 0;
En este caso, usamos el fopen () comandar para abrir el archivo de texto C_file.TXT en modo de lectura. Usando una instrucción IF, determinamos si el archivo se abrió correctamente. Después de eso, empleamos un bucle de tiempo y fgetc () para leer caracteres del archivo. El personaje recibido del archivo se asigna a la variable C dentro del bucle antes de imprimir usando printf (). El bucle sigue funcionando hasta el EOF (Final del archivo) Constante detecta el final del archivo. Ejecutar este programa obtendría los siguientes resultados, si C_file.TXT Contiene la palabra "Linuxhint".
Producción
Conclusión
Al usar los pasos descritos anteriormente, C se puede usar para Leer un archivo de texto y Imprima todas las cuerdas contiene. Comienza usando el fopen () Llamada del sistema para abrir el archivo, seguido del uso de fscanf (), fread (), fgets (), fgetc () Para leer los datos. Posteriormente, el archivo está cerrado usando fclose () y un bucle for se usa para imprimir las cuerdas. Al emplear estas técnicas, C se puede utilizar para ayudar a leer e imprimir datos de manera eficiente.