Fstream
Para poder leer desde o escribir en ficheros (lectura/escritura de datos en unidades de
almacenamiento permanente como los disquetes, discos duros, etc.), se debe incluir la
librera <fstream.h>. En esta librera se definen las clases necesarias para la utilizacin
de ficheros, que sonifstream, ofstream y fstream, que derivan de istream y ostream,
que a su vez derivan de la clase ios (ver figura ).
!ntes de abrir un fichero ha" que crear un flujo, es decir un ob#eto de las clases ifstream,
ofstream o fstream e indicar el modo de apertura (lectura, escritura, lectura " escritura,). $os
modos en los que se puede abrir un fichero son%
ios%%append &a'adir datos al final del fichero
ios%%in &abrir fichero para leer datos
ios%%out &abrir fichero para escribir datos
Por e#emplo para abrir un fichero para lectura de datos creando un fstream fichero%
fstream fichero(
[Link]()[Link]), ios%%in)(
" para escritura en ese mismo fichero%
fstream fichero(
[Link]()[Link]), ios%%out)(
$as clases ifstream, ofstream y fstream tienen tambi*n constructores que permiten abrir
ficheros de forma autom+tica
ifstream fichero()[Link]))(donde se sobreentiende que el fichero se abre
para lectura por haber utilizado ifstream. ,i se hubiese utilizado ofstream el fichero se
hubiera abierto para escritura.
-fstream.
Entrada / salida de archivo de clase de secuencia
fstream proporciona una interfaz para leer " escribir datos a partir de archivos como
flu#os de entrada / salida.
$osob#etos de esta clase mantener internamente un puntero a un ob#eto filebuf que
puede obtenerse llamando rdbuf miembro.
El archivo que se asociar+ con la corriente se puede especificar como unpar+metro en
el constructor o llamando al miembro de apertura.
/espu*s de que todas las operaciones necesarias en un archivo se han realizado, se
puede cerrar (o disocia) llamando a cerrar miembro. 0navez cerrado, el ob#eto mismo
archivo de flu#o puede ser usado para abrir otro archivo.
include )iostream.h)
1include )stdlib.h)
1include )conio.h)
1include )fstream.h) // ,e debe incluir para mane#ar los archivos
// /e cadenas de caracteres.
void uno() 2 // E#emplo 3
void error(void)(
ifstream a(
[Link]()prueba),ios%%in,4)(
if (a 55 4) error()(
[Link]()(
6
void dos() 2 // E#emplo 7
void error(void)(
ifstream a()prueba))(
if(a 55 4) error()(
[Link]()(
6
void tres() 2 // E#emplo 8
void error(void)(
ifstream a(
[Link]()prueba),ios%%noreplace,4)(
if (a 55 4) error()(
[Link]()(
6
void cuatro() 2 // E#emplo 9
void error(void)(
ifstream a(
[Link]()prueba),ios%%trunc,4)(
if (a 55 4) error()(
[Link]()(
6
void error() 2
cout -- )Error en apertura. :n)(
getch()(
e;it (3)(
6
void main() 2
void uno()(
void dos()(
void tres()(
void cuatro()(
cout--)!rchivos abiertos)(
getch()(
6