Acceder archivos con fstream

 

Ejemplos de escritura y lectura de archivos con fstream en C++

1. Escribir en un archivo de texto:

C++
#include <fstream>

int main() {
  // Crear un objeto ofstream para escribir en un archivo
  std::ofstream archivo("ejemplo.txt");

  // Verificar si el archivo se abrió correctamente
  if (archivo.is_open()) {
    // Escribir en el archivo
    archivo << "Esta es una línea de texto en el archivo." << std::endl;
    archivo << "Otra línea de texto para el archivo." << std::endl;

    // Cerrar el archivo
    archivo.close();
  } else {
    std::cout << "Error al abrir el archivo." << std::endl;
  }

  return 0;
}

Explicación:

  • Se incluye la biblioteca <fstream> para trabajar con archivos.
  • Se crea un objeto ofstream llamado archivo y se le pasa el nombre del archivo "ejemplo.txt" para escribir en él.
  • Se utiliza el operador de inserción << para escribir dos líneas de texto en el archivo.
  • Se verifica si el archivo se abrió correctamente usando archivo.is_open().
  • Se cierra el archivo usando archivo.close().

2. Leer un archivo de texto:

C++
#include <fstream>

int main() {
  // Crear un objeto ifstream para leer un archivo
  std::ifstream archivo("ejemplo.txt");

  // Verificar si el archivo se abrió correctamente
  if (archivo.is_open()) {
    std::string linea;

    // Leer el archivo línea por línea
    while (std::getline(archivo, linea)) {
      std::cout << linea << std::endl;
    }

    // Cerrar el archivo
    archivo.close();
  } else {
    std::cout << "Error al abrir el archivo." << std::endl;
  }

  return 0;
}

Explicación:

  • Se incluye la biblioteca <fstream> para trabajar con archivos.
  • Se crea un objeto ifstream llamado archivo y se le pasa el nombre del archivo "ejemplo.txt" para leerlo.
  • Se verifica si el archivo se abrió correctamente usando archivo.is_open().
  • Se declara una variable std::string llamada linea para almacenar cada línea del archivo.
  • Se utiliza un bucle while con std::getline para leer el archivo línea por línea.
  • Dentro del bucle, se imprime cada línea en la consola usando std::cout << linea << std::endl;.
  • Se cierra el archivo usando archivo.close().

3. Escribir y leer datos binarios:

C++
#include <fstream>

int main() {
  // Crear un archivo binario
  std::ofstream archivoBinario("datos.bin", std::ios::binary);

  // Verificar si el archivo se abrió correctamente
  if (archivoBinario.is_open()) {
    // Escribir datos binarios en el archivo
    int numero = 1024;
    float pi = 3.14159;

    archivoBinario.write(reinterpret_cast<char*>(&numero), sizeof(numero));
    archivoBinario.write(reinterpret_cast<char*>(&pi), sizeof(pi));

    // Cerrar el archivo
    archivoBinario.close();
  } else {
    std::cout << "Error al abrir el archivo binario." << std::endl;
  }

  // Leer datos binarios del archivo
  std::ifstream archivoBinarioLectura("datos.bin", std::ios::binary);

  // Verificar si el archivo se abrió correctamente
  if (archivoBinarioLectura.is_open()) {
    int numeroLeido;
    float piLeido;

    archivoBinarioLectura.read(reinterpret_cast<char*>(&numeroLeido), sizeof(numeroLeido));
    archivoBinarioLectura.read(reinterpret_cast<char*>(&piLeido), sizeof(piLeido));

    std::cout << "Número leído: " << numeroLeido << std::endl;
    std::cout << "Pi leído: " << piLeido << std::endl;

    // Cerrar el archivo
    archivoBinarioLectura.close();
  } else {
    std::cout << "Error al abrir el archivo binario para lectura." << std::endl;
  }

  return 0;
}


Comentarios

Entradas más populares de este blog

Generación de números aleatorios

Paso de parámetros en funciones

STL de C++