Lenguaje de programacion

Solo disponible en BuenasTareas
  • Páginas : 7 (1540 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de junio de 2011
Leer documento completo
Vista previa del texto
Entrada/Salida de archivos
     Trabajaremos con flujos de E/S hacia los dispositivos estándar por defecto definidos en C++ que son el teclado para operaciones de entrada, y el monitor para operaciones de salida. Ahora que tenemos una mejor perspectiva acerca de qué son las clases, en éste artículo trataremos los principales aspectos de las operaciones de E/S en archivos.

Operaciones deescritura 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 laclase 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 miembro close.

Modos de apertura de archivo
     Al especificar la apertura de un archivo como se ha mostrado en los programas anteriores, el programa sobre-escribecualquier archivo existente llamado Datos.txt en el directorio de trabajo del programa. Dependiendo del propósito del programa es posible que sea necesario agregar datos a los ya existentes en el archivo, o quizá sea necesario que las operaciones del programa no se lleven a cabo en caso de que el archivo especificado exista en el disco, para éstos casos podemos especificar el modo de apertura delarchivo incluyendo un parámetro adicional en el constructor, cualquiera de los siguientes:
* ios::app Operaciones de añadidura.
* ios::ate Coloca el apuntador del archivo al final del mismo.
* ios::in Operaciones de lectura. Esta es la opción por defecto para objetos de la claseifstream.
* ios::out Operaciones de escritura. Esta es la opción por defecto para objetos de laclase ofstream.
* ios::nocreate Si el archivo no existe se suspende la operación.
* ios::noreplace Crea un archivo, si existe uno con el mismo nombre la operación se suspende.
* ios::trunc Crea un archivo, si existe uno con el mismo nombre lo borra.
* ios::binary Operaciones binarias.

    De esta manera, podemos modificar el modo de apertura del programa archiv02.cpp para que los datos delprograma se concatenen en el archivo Datos.txt simplemente escribiendo el constructor así: ofstream archivo("Datos.txt", ios::app);. Si deseamos que el programa no sobreescriba un archivo existente especificamos el constructor de ésta manera: ofstream archivo("Datos.txt", ios::noreplace);. Utilizando los especificadores de modo de apertura se puede conseguir un mayor control en las operaciones deE/S en archivos.

Operaciones de lectura de archivos 

     Para abrir un archivo y realizar operaciones de lectura se crea un objeto de la claseifstream y se procede prácticamente de la misma forma que lo expuesto en el apartado anterior. Después de abrir el archivo se puede leer su contenido utilizando las funciones miembro de la clase ifstream o bién el operador de extracción. Cuando selee un archivo, por lo general se empieza al principio del mismo y se leerá su contenido hasta que se encuentre el final del archivo. Para determinar si se ha llegado al final del archivo se puede utilizar la función miembro eof como condición de un bucle while. Además se puede utilizar la función miembro fail para detectar un error al abrir el archivo

Analizando el éxito de E/S de archivos     En el programa archiv03.cpp se utilizó la función miembro fail( ) para determinar el éxito de la operación de apertura del archivo Besos.txt. La función miembro fail( ) produce el valor de 1 si ocurre un error en la operación de archivo. Similarmente es recomendable utilizar otras funciones para verificar no solo la apertura de archivo sino también las operaciones de lectura y escritura, las...
tracking img