Site Info Site Info

Lectura Y Escritura De Archivos En C

Lectura Y Escritura De Archivos En C

¡Hola a todos! Preparémonos para ese examen sobre lectura y escritura de archivos en C. No se preocupen, ¡lo vamos a dominar juntos!

Archivos: La Base

Primero, entendamos qué son los archivos. Un archivo es un conjunto de datos almacenados en un dispositivo. Podemos pensar en ellos como cuadernos donde guardamos información. En C, necesitamos "abrirlos" para poder usarlos.

La función clave para abrir un archivo es fopen(). Recuerda que fopen() devuelve un puntero de tipo FILE *. Este puntero es nuestra "llave" al archivo. Si fopen() falla, devuelve NULL. ¡Siempre verifica esto!

Modos de apertura:

  • "r": Abre el archivo para lectura.
  • "w": Abre el archivo para escritura. Si el archivo existe, lo sobrescribe. ¡Cuidado!
  • "a": Abre el archivo para añadir (append). Los datos se escriben al final del archivo.
  • "r+": Abre el archivo para lectura y escritura.
  • "w+": Abre el archivo para lectura y escritura. Si el archivo existe, lo sobrescribe.
  • "a+": Abre el archivo para lectura y escritura. Los datos se escriben al final del archivo.

Escritura en Archivos

Para escribir en un archivo, tenemos varias opciones. La más común es fprintf(). Funciona como printf(), pero el primer argumento es el puntero FILE *. Por ejemplo: fprintf(archivo, "Hola, mundo!\n");

Sesión 08 (FINAL) - Lectura y escritura de archivos en C y C++ - YouTube
Sesión 08 (FINAL) - Lectura y escritura de archivos en C y C++ - YouTube

También podemos usar fputc() para escribir un solo carácter. Y fputs() para escribir una cadena de caracteres. ¡Recuerda incluir el puntero al archivo!

Es crucial cerrar el archivo después de escribir. Usamos fclose() para esto. fclose(archivo); Esto asegura que los datos se guarden correctamente y libera recursos del sistema.

Escritura y lectura de archivos .txt en C# - YouTube
Escritura y lectura de archivos .txt en C# - YouTube

Lectura desde Archivos

Para leer desde un archivo, también tenemos varias funciones. fscanf() es el equivalente a scanf() para archivos. Lee datos formateados desde el archivo.

fgetc() lee un solo carácter desde el archivo. Devuelve EOF (End Of File) cuando llega al final del archivo. Esto es importante para detectar el fin de la lectura.

fgets() lee una línea completa desde el archivo. Necesitamos especificar un buffer (un arreglo de caracteres) donde se guardará la línea leída y el tamaño máximo del buffer.

Archivos en C: Lectura y escritura básica - YouTube
Archivos en C: Lectura y escritura básica - YouTube

Ejemplo Práctico

Aquí un ejemplo sencillo:


#include <stdio.h>

int main() {
  FILE *archivo;
  char linea[100];

  // Escribir en el archivo
  archivo = fopen("mi_archivo.txt", "w");
  if (archivo == NULL) {
    printf("Error al abrir el archivo para escritura.\n");
    return 1;
  }
  fprintf(archivo, "Esta es una linea de texto.\n");
  fclose(archivo);

  // Leer desde el archivo
  archivo = fopen("mi_archivo.txt", "r");
  if (archivo == NULL) {
    printf("Error al abrir el archivo para lectura.\n");
    return 1;
  }
  fgets(linea, 100, archivo);
  printf("Linea leida: %s", linea);
  fclose(archivo);

  return 0;
}

Analiza este código con calma. ¡Entiende cada paso!

Archivos en C - Lectura/Escritura en archivos binarios - YouTube
Archivos en C - Lectura/Escritura en archivos binarios - YouTube

Manejo de Errores

¡No olvides el manejo de errores! Siempre verifica si fopen() devuelve NULL. También considera qué hacer si fscanf() o fgets() fallan. Un buen manejo de errores hace que tu programa sea más robusto.

Resumen

Repasemos los puntos clave:

  • fopen(): Abre un archivo y devuelve un puntero FILE *.
  • Modos de apertura: "r", "w", "a", "r+", "w+", "a+".
  • Funciones de escritura: fprintf(), fputc(), fputs().
  • Funciones de lectura: fscanf(), fgetc(), fgets().
  • fclose(): Cierra el archivo.
  • ¡Siempre verifica el retorno de fopen()!

¡Confío en ustedes! Estudien estos conceptos y practiquen con ejemplos. ¡Éxito en el examen!

Gallery

Lectura y escritura de archivo en C++ - YouTube
Curso de C y C++ 10: Lectura y escritura de archivos - YouTube