Ejemplo manejo de archivos C++

C++

C++
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
    // 1. Creación y escritura en un archivo
    ofstream archivo("mi_archivo.txt");
    if (archivo.is_open()) {
        archivo << "Hola, mundo!" << endl;
        archivo << "Esta es una línea adicional." << endl;
        archivo.close();
        cout << "Archivo creado y escrito correctamente." << endl;
    } else {
        cout << "No se pudo crear el archivo." << endl;
    }

    // 2. Lectura de un archivo
    ifstream leer_archivo("mi_archivo.txt");
    string linea;
    if (leer_archivo.is_open()) {
        while (getline(leer_archivo, linea)) {
            cout << linea << endl;
        }
        leer_archivo.close();
    } else {
        cout << "No se pudo abrir el archivo para lectura." << endl;
    }

    // 3. Modificación de un archivo (append)
    ofstream modificar_archivo("mi_archivo.txt", ios::app);
    if (modificar_archivo.is_open()) {
        modificar_archivo << "Esta línea se agregó al final." << endl;
        modificar_archivo.close();
        cout << "Archivo modificado correctamente." << endl;
    }

    // 4. Eliminación de un archivo (requiere librería adicional)
    // Nota: La eliminación de archivos es una operación delicada y puede variar
    //       según el sistema operativo y las librerías utilizadas. 
    //       Para este ejemplo, usaremos la función remove de la librería <cstdio>
    #include <cstdio>
    if (remove("mi_archivo.txt") == 0) {
        cout << "Archivo eliminado correctamente." << endl;
    } else {
        cout << "Error al eliminar el archivo." << endl;
    }

    return 0;
}

Explicación:

  1. Creación y escritura:

    • Se crea un objeto ofstream para escribir en un archivo.
    • Se utiliza el operador de inserción (<<) para escribir texto en el archivo.
    • Se cierra el archivo con close().
  2. Lectura:

    • Se crea un objeto ifstream para leer un archivo.
    • Se utiliza un bucle while y la función getline para leer el archivo línea por línea.
    • Se cierra el archivo.
  3. Modificación:

    • Se abre el archivo en modo append (ios::app) para agregar texto al final.
    • Se escribe la nueva línea.
    • Se cierra el archivo.
  4. Eliminación:

    • Se utiliza la función remove de la librería cstdio para eliminar el archivo.

Puntos clave:

  • Librería fstream: Contiene las clases ifstream, ofstream y fstream para realizar operaciones de entrada y salida en archivos.
  • Modos de apertura:
    • ios::out: Para crear un archivo nuevo o sobreescribir uno existente.
    • ios::in: Para leer de un archivo existente.
    • ios::app: Para agregar texto al final de un archivo existente.
    • ios::binary: Para trabajar con archivos binarios.
  • Funciones importantes:
    • is_open(): Verifica si el archivo se abrió correctamente.
    • close(): Cierra el archivo.
    • getline(): Lee una línea completa del archivo.
    • <<: Inserta datos en un flujo de salida (como un archivo).

Consideraciones adicionales:

  • Manejo de errores: Es importante verificar si el archivo se abrió correctamente y manejar posibles excepciones.
  • Rendimiento: Para archivos grandes, es recomendable utilizar búferes para mejorar el rendimiento de las operaciones de entrada y salida.
  • Archivos binarios: Para trabajar con archivos binarios, se utiliza el modo ios::binary.
  • Seguridad: Al eliminar archivos, asegúrate de tener los permisos necesarios y de que estás eliminando el archivo correcto.

Este ejemplo te proporciona una base sólida para trabajar con archivos en C++. Puedes adaptarlo a tus necesidades específicas, como leer y escribir diferentes tipos de datos, trabajar con archivos más complejos y manejar errores de forma más robusta.

Comentarios

Entradas más populares de este blog

Tratamiento de excepciones

Agregación

Composición