Manejo de archivo en c++
Entrada/Salida de archivos
Trataremos los principales aspectos de las operaciones de E/S en archivos.
Operaciones de escritura en archivos
El archivo de cabecera fstream.h define las clases ifstream, ostream y fstream para operaciones de lectura, escritura y lectura/escritura en archivos respectivamente. Para trabajar con archivos debemos crear objetos deéstas clases de acuerdo a las operaciones que deseamos efectuar. Empezamos con las operaciones de escritura, para lo cual básicamente declaramos un objeto de la clase ofstream, después utilizamos la función miembro open para abrir el archivo, escribimos en el archivo los datos que sean necesarios utilizando el operador de inserción y por último cerramos el archivo por medio de la función miembroclose, éste proceso está ilustrado en nuestro primer programa, archiv01.cpp.
|
//***********************************************
// archiv01.cpp
// Demuestra la escritura básica en archivo
// ©1999, Jaime Virgilio Gómez Negrete
//***********************************************
#include <fstream.h>
int main()
{
ofstream archivo; // objeto de la clase ofstream archivo.open("datos.txt");
archivo << "Primera línea de texto" << endl;
archivo << "Segunda línea de texto" << endl;
archivo << "Última línea de texto" << endl;
archivo.close();
return 0;
} |
|
En el programa se ha creado un objeto de la clase ofstream llamado archivo, posteriormente se utiliza la función miembro open para abrirel arcivo especificado en la cadena de texto que se encuentra dentro del paréntesis de la función. Podemos invocar a la función constructora de clase de tal manera que el archivo también se puede abrir utilizando la siguiente instrucción:
|
ofstream archivo("datos.txt"); // constructora de ofstream |
|
Naturalmente, al utilizar la función constructora ya no es necesario utilizar lafunción miembro open, ésta forma de abrir un archivo es preferida porque el código es más compacto y fácil de leer. De la misma forma que se utilizan manipuladores de salida para modificar la presentación en pantalla de los datos del programa, igual es posible utilizar éstos manipuladores al escribir datos en un archivo como lo demuestra el programa archiv02.cpp, observe que se utiliza unconstructor para crear y abrir el archivo llamado Datos.txt:
|
//***********************************************
// archiv02.cpp
// Demuestra el uso de manipuladores
// ©1999, Jaime Virgilio Gómez Negrete
//***********************************************
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
int main()
{ ofstream archivo("Datos.txt"); // constructor de ofstream
int numero;
cout << "Introduzca un numero:" << endl;
cin >> numero;
archivo << "El valor introducido en base 10 es: " << numero << endl;
archivo << resetiosflags(ios::dec);
archivo << setiosflags(ios::oct);
archivo << "en base octal es: " << numero << endl;
archivo << resetiosflags(ios::oct);
archivo << setiosflags(ios::hex);
archivo << "y en base hexadecimal es: " << numero << endl;
archivo << setiosflags(ios::uppercase|ios::showbase);
archivo << "utilizando los manipuladores uppercase y showbase" << " el valor es: " << numero << endl;
archivo << resetiosflags(ios::uppercase|ios::showbase);
archivo << resetiosflags(ios::hex);
archivo << setiosflags(ios::showpos|ios::showpoint|ios::fixed);
archivo << "Utilizando los manipuladores showpos," << " showpoint y fixed: " << (float)numero << endl;
archivo << resetiosflags(ios::showpos|ios::showpoint|ios::fixed);...
Regístrate para leer el documento completo.