C++ Biblioteca de entrada/salida de archivos - <fstream>
En C++, <fstream>es una clase en la biblioteca estándar para operaciones de entrada/salida de archivos. Proporciona una forma conveniente de leer y escribir archivos.
fstreamSíiostreamParte de la biblioteca, admite la lectura y escritura de archivos de texto y binarios.
fstreamLa clase esiostreamuna clase en la biblioteca, que hereda deistreamyostreamclase, lo que significa que se puede utilizar tanto para entrada como para salida.
Sintaxis
fstreamLa sintaxis básica es la siguiente:
int main() {
std::fstream file; // Crear un objeto fstream
file.open("filename", mode); // Abrir archivo
// Realizar operaciones de archivo
file.close(); // Cerrar archivo
return 0;
}
Dondefilenamees el nombre del archivo,modees el modo de apertura del archivo, los modos comunes son:
std::ios::in: Abrir archivo en modo entrada.std::ios::out: Abrir archivo en modo salida.std::ios::app: Abrir archivo en modo anexar (append).std::ios::ate: Abrir archivo y posicionarse al final del archivo.std::ios::trunc: Abrir archivo y truncar el archivo, es decir, vaciar el contenido del archivo.
Ejemplo
Escribir archivo de texto:
Ejemplo
#include <iostream>
int main() {
std::fstream file;
file.open("example.txt", std::ios::out); // Abrir archivo en modo salida
if (!file) {
std::cerr << "Unable to open file!" << std::endl;
return 1; // Error al abrir el archivo
}
file << "Hello, World!" << std::endl; // Escribir texto
file.close(); // Cerrar archivo
return 0;
}
En el directorio actual, crea un archivo llamadoexample.txtcon el contenido:
Hello, World!
Leer archivo de texto
Ejemplo
#include <iostream>
#include <string>
int main() {
std::fstream file;
file.open("example.txt", std::ios::in); // Abrir archivo en modo entrada
if (!file) {
std::cerr << "Unable to open file!" << std::endl;
return 1; // Error al abrir el archivo
}
std::string line;
while (getline(file, line)) { // Leer línea por línea
std::cout << line << std::endl;
}
file.close(); // Cerrar archivo
return 0;
}
Siexample.txtel archivo contiene el siguiente contenido:
Hello, World! This is a test file.
entonces el programa mostrará:
Hello, World! This is a test file.
Anexar al archivo:
Ejemplo
#include <iostream>
int main() {
std::fstream file;
file.open("example.txt", std::ios::app); // Abrir archivo en modo anexar
if (!file) {
std::cerr << "Unable to open file!" << std::endl;
return 1; // Error al abrir el archivo
}
file << "Appending this line to the file." << std::endl; // Anexar texto
file.close(); // Cerrar archivo
return 0;
}
example.txtEl archivo originalmente contenía lo siguiente:
Hello, World! This is a test file.
Después de ejecutar el programa anterior, el contenido del archivo cambiará a:
Hello, World! This is a test file. Appending this line to the file.Otras extensiones