E / S de archivos C: crear, abrir, leer, escribir y cerrar un archivo

C Gestión de archivos

Un archivo se puede utilizar para almacenar un gran volumen de datos persistentes. Como muchos otros lenguajes, «C» proporciona las siguientes funciones de administración de archivos,

  1. Creación de un archivo
  2. Abrir un archivo
  3. Leer un archivo
  4. Escribir en un archivo
  5. Cerrar un archivo

A continuación se muestran las funciones de administración de archivos más importantes disponibles en «C»,

función propósito
fopen () Crear un archivo o abrir un archivo existente
fclose () Cerrar un archivo
fprintf () Escribir un bloque de datos en un archivo
fscanf () Leer un bloquear datos de un archivo
getc () Lee un solo carácter de un archivo
putc () Escribe un solo carácter en un archivo
getw () Lee un número entero de un archivo
putw () Escribir un número entero en un archivo
fseek () Establece la posición de un puntero de archivo en una ubicación especificada
ftell () Devuelve la posición actual de un puntero de archivo
rewind () Establece el puntero de archivo al principio de un archivo

En este tutorial, aprenderá-

  • Cómo crear un archivo
  • Cómo cerrar un archivo:
  • Escribiendo en un archivo
    • Función fputc ():
    • Función fputs ():
    • Función fprintf ():
  • Lectura de datos de un archivo
  • Lectura y escritura interactiva de archivos con getc y putc

Cómo crear un archivo

Siempre que desee trabajar con un archivo, el primer paso es crear un archivo. Un archivo no es más que espacio en una memoria donde se almacenan los datos.

Para crear un archivo en un programa «C» se utiliza la siguiente sintaxis,

FILE *fp;fp = fopen ("file_name", "mode");

En la sintaxis anterior, el archivo es un estructura de datos que se define en la biblioteca estándar.

fopen es una función estándar que se utiliza para abrir un archivo.

  • Si el archivo no está presente en el sistema, entonces se crea y luego se abre.
  • Si un archivo ya está presente en el sistema, entonces se abre directamente usando esta función.

fp es un puntero de archivo que apunta al tipo de archivo.

Siempre que abra o cree un archivo, debe especificar qué va a hacer con el archivo. Se puede crear o abrir un archivo en programación «C» con fines de lectura / escritura. Se usa un modo para especificar si desea abrir un archivo para cualquiera de los propósitos que se indican a continuación. A continuación se muestran los diferentes tipos de modos en la programación «C» que se pueden utilizar mientras se trabaja con un archivo.

Modo de archivo Descripción
r Abre un archivo para leerlo. Si un archivo está en modo de lectura, no se eliminan datos si un archivo ya está presente en un sistema.
w Abre un archivo para escribir. Si un archivo está en modo de escritura, entonces se crea un nuevo archivo si el archivo no existe en absoluto. Si un archivo ya está presente en un sistema, entonces todos los datos dentro del archivo se truncan y se abre para escribir propósitos.
a Abrir un archivo en modo anexar. Si un archivo está en modo anexar, entonces el archivo se abre. El contenido dentro del archivo no cambia.
r + abierto para lectura y escritura desde el principio
w + abrir para leer y escribir, sobrescribir un archivo
a + abrir para leer y escribir, agregar al archivo

En la sintaxis dada, el nombre del archivo y el modo se especifican como cadenas, por lo que siempre deben estar encerrados entre comillas dobles.

Ejemplo:

#include <stdio.h>int main() {FILE *fp;fp = fopen ("data.txt", "w");}

Salida:

El archivo se crea en la misma carpeta donde guardó su código .

Puede especificar la ruta donde desea crear su archivo

#include <stdio.h>int main() {FILE *fp;fp = fopen ("D://data.txt", "w");}

Cómo cerrar un archivo

Siempre se debe cerrar un archivo cada vez que finalizan las operaciones en el archivo. Significa que el contenido y los enlaces al archivo están terminados. Esto evita daños accidentales al archivo.

«C» proporciona la función fclose para realizar la operación de cierre de archivos. La sintaxis de fclose es la siguiente,

fclose (file_pointer);

Ejemplo:

FILE *fp;fp = fopen ("data.txt", "r");fclose (fp);

El fclose La función toma un puntero de archivo como argumento. El archivo asociado con el puntero de archivo se cierra con la ayuda de la función fclose.Devuelve 0 si el cierre se realizó correctamente y EOF (final del archivo) si se produjo un error durante el cierre del archivo.

Después de cerrar el archivo, el mismo puntero de archivo también se puede usar con otros archivos.

En la programación «C», los archivos se cierran automáticamente cuando se termina el programa. Cerrar un archivo manualmente escribiendo la función fclose es una buena práctica de programación.

Escribir en un archivo

En C, cuando escribe en un archivo, los caracteres de nueva línea «\ n» deben agregarse explícitamente.

La biblioteca stdio ofrece las funciones necesarias para escribir en un archivo:

  • fputc (char, file_pointer): Escribe un carácter en el archivo apuntado por file_pointer.
  • fputs (str, file_pointer): Escribe una cadena en el archivo apuntado por file_pointer.
  • fprintf (file_pointer, str, variable_lists): Imprime una cadena al archivo apuntado por file_pointer. La cadena puede incluir opcionalmente especificadores de formato y una lista de variables variables_lists.

El programa siguiente muestra cómo realizar la escritura en un archivo:

fputc () Función:

Salida:

El programa anterior escribe un solo carácter en el archivo fputc_test.txt hasta que llegue al siguiente símbolo de línea «\ n» que indica que la oración se escribió correctamente. El proceso consiste en tomar cada carácter de la matriz y escribirlo en el archivo.

  1. En el programa anterior, hemos creado y abierto un archivo llamado fputc_test.txt en un modo de escritura y declaramos nuestra cadena que se escribirá en el archivo.
  2. Hacemos una operación de escritura carácter por carácter usando el bucle for y colocamos cada carácter en nuestro archivo hasta que «\ n «se encuentra el carácter y luego el archivo se cierra usando la función fclose.

Función fputs ():

SALIDA:

  1. En el programa anterior, hemos creado y abierto un archivo llamado fputs_test.txt en modo de escritura.
  2. Después de hacer una operación de escritura usando la función fputs () escribiendo tres cadenas diferentes
  3. Luego, el archivo se cierra usando la función fclose.

fprintf () Función:

SALIDA:

  1. En el programa anterior, hemos creado y abierto un archivo llamado fprintf_test.txt en modo de escritura.
  2. Después de que se realiza una operación de escritura usando la función fprintf () escribiendo una cadena, luego el archivo se cierra usando la función fclose.

Lectura de datos de un archivo

Hay tres funciones diferentes dedicadas a leer datos de un archivo

  • fgetc (file_pointer): Devuelve el siguiente carácter del archivo al que apunta el puntero del archivo. Cuando se llega al final del archivo, se devuelve el EOF.
  • fgets (buffer, n, file_pointer): Lee n-1 caracteres del archivo y almacena la cadena en un búfer en el que se agrega el carácter NULL «\ 0» como último carácter.
  • fscanf (file_pointer, conversion_specifiers, variable_adresses): se utiliza para analizar y analizar datos. Lee los caracteres del archivo y asigna la entrada a una lista de punteros variables direcciones_variable utilizando especificadores de conversión. Tenga en cuenta que, al igual que con scanf, fscanf deja de leer una cadena cuando se encuentra un espacio o una nueva línea.

El siguiente programa demuestra la lectura del archivo fputs_test.txt usando fgets (), fscanf () y fgetc () funciona respectivamente:

Resultado:

  1. En el programa anterior, hemos abierto el archivo llamado «fprintf_test.txt» que fue escrito previamente usando la función fprintf (), y contiene la cadena «Aprendiendo C con Guru99». Lo leemos usando la función fgets () que lee línea por línea donde el tamaño del búfer debe ser suficiente para manejar toda la línea.
  2. Volvemos a abrir el archivo para restablecer el archivo de puntero para que apunte al principio de la expediente. Cree varias variables de cadenas para manejar cada palabra por separado. Imprima las variables para ver su contenido. El fscanf () se utiliza principalmente para extraer y analizar datos de un archivo.
  3. Vuelva a abrir el archivo para restablecer el archivo de puntero para que apunte al principio del archivo. Leer datos e imprimirlos desde el archivo carácter a carácter usando la función getc () hasta que se encuentre la declaración EOF
  4. Después de realizar una operación de lectura del archivo usando diferentes variantes, cerramos nuevamente el archivo usando la función fclose.

Lectura y escritura interactiva de archivos con getc y putc

Estas son las operaciones de archivo más simples. Getc significa obtener carácter y putc significa poner carácter. Estas dos funciones se utilizan para manejar solo un carácter a la vez.

El siguiente programa demuestra las funciones de manejo de archivos en la programación «C»:

Salida:

  1. En el programa anterior han creado y abierto un archivo llamado demo en modo de escritura.
  2. Después de realizar una operación de escritura, el archivo se cierra usando la función fclose.
  3. Hemos vuelto a abrir un archivo que ahora contiene datos en modo de lectura. Se ejecutará un ciclo while hasta que se encuentre eof. Una vez que se encuentra el final del archivo, la operación se terminará y los datos se mostrarán usando la función printf.
  4. Después de realizar una operación de lectura, el archivo se cierra nuevamente usando la función fclose.

Resumen

  • Un archivo es un espacio en una memoria donde se almacenan los datos.
  • «C «La programación proporciona varias funciones para tratar con un archivo.
  • Un mecanismo de manipulación con los archivos se denomina administración de archivos.
  • Un archivo debe abrirse antes de realizar operaciones en él.
  • Un archivo se puede abrir en un modo de lectura, escritura o anexar.
  • Las funciones getc y putc se utilizan para leer y escribir un solo carácter.
  • Las la función fscanf () permite leer y analizar datos de un archivo
  • Podemos leer (usando la función getc) un archivo completo haciendo un bucle para cubrir todo el archivo hasta que se encuentre el EOF
  • Podemos escribir en un archivo después de crear su nombre, usando la función fprintf () y debe tener el newl carácter ine al final del texto de la cadena.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *