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:
-
Creación y escritura:
- Se crea un objeto
ofstreampara escribir en un archivo. - Se utiliza el operador de inserción (
<<) para escribir texto en el archivo. - Se cierra el archivo con
close().
- Se crea un objeto
-
Lectura:
- Se crea un objeto
ifstreampara leer un archivo. - Se utiliza un bucle
whiley la funcióngetlinepara leer el archivo línea por línea. - Se cierra el archivo.
- Se crea un objeto
-
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.
- Se abre el archivo en modo append (
-
Eliminación:
- Se utiliza la función
removede la libreríacstdiopara eliminar el archivo.
- Se utiliza la función
Puntos clave:
- Librería
fstream: Contiene las clasesifstream,ofstreamyfstreampara 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
Publicar un comentario