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
ofstreamllamadoarchivoy 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
ifstreamllamadoarchivoy 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::stringllamadalineapara almacenar cada línea del archivo. - Se utiliza un bucle
whileconstd::getlinepara 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
Publicar un comentario