Diferencia entre revisiones de «Ficheros en C++»
| Línea 12: | Línea 12: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
| − | | ifstream descriptor; | + | | ifstream descriptor; // Para fichero de entrada |
| − | | ofstream descriptor; | + | |- |
| + | | ofstream descriptor; // Para ficheros de salida | ||
|} | |} | ||
*Apertura de [[Ficheros]] de Texto (supongamos TCadena nombre) | *Apertura de [[Ficheros]] de Texto (supongamos TCadena nombre) | ||
| − | + | {| class="wikitable" border="1" | |
| − | in.open(nombre); | + | |- |
| − | out.open(nombre); | + | | in.open(nombre); // Apertura para Lectura |
| − | + | |- | |
| − | out.open(nombre,ios::app); | + | | out.open(nombre); /*Apertura para Escritura. (borra el |
| − | in.open(nombreios::in|ios:: out); //Apertura para Lectura y Escritura | + | contenido si lo hubiera)*/ |
| − | out.open (nombre,ios::in|ios:: out); //Apertura para Lectura y Escritura | + | |- |
| + | | out.open(nombre,ios::app); //Apertura para añadir datos al final | ||
| + | |- | ||
| + | | in.open(nombreios::in|ios:: out); //Apertura para Lectura y Escritura | ||
| + | |- | ||
| + | | out.open (nombre,ios::in|ios:: out); //Apertura para Lectura y Escritura | ||
| + | |} | ||
*Cierre de ficheros: Un fichero anteriormente abierto y con un descriptor asociado a él debe ser cerrado con el fin de liberar los recursos asociados a él de la siguiente forma: | *Cierre de ficheros: Un fichero anteriormente abierto y con un descriptor asociado a él debe ser cerrado con el fin de liberar los recursos asociados a él de la siguiente forma: | ||
| Línea 38: | Línea 45: | ||
== Ficheros de texto== | == Ficheros de texto== | ||
La lectura y la escritura en un archivo de texto se puede realizar directamente con los operadores << y >> al igual que se realiza sobre los flujos estándares cin y cout. | La lectura y la escritura en un archivo de texto se puede realizar directamente con los operadores << y >> al igual que se realiza sobre los flujos estándares cin y cout. | ||
| − | |||
==Fuente== | ==Fuente== | ||
Laboratorio de Programación 1º A E.T.S.I. Informática Gestión | Laboratorio de Programación 1º A E.T.S.I. Informática Gestión | ||
[[Category: Informática]] | [[Category: Informática]] | ||
Revisión del 09:01 24 may 2011
| ||||
En C++ un fichero es simplemente un flujo externo que se puede abrir para entrada (dando lugar a un flujo de archivo de entrada que, para simplificar, llamaremos simplemente archivo o fichero de entrada), para salida (dando lugar a un flujo de archivo de salida que, para simplificar, llamaremos simplemente archivo o fichero de salida) o para entrada-salida(archivo o fichero de entrada-salida o archivo de E/S).
Sumario
Definición, Apertura y Cierre de Ficheros
- Declaración de Variables de tipo "Fichero":
| ifstream descriptor; // Para fichero de entrada |
| ofstream descriptor; // Para ficheros de salida |
- Apertura de Ficheros de Texto (supongamos TCadena nombre)
| in.open(nombre); // Apertura para Lectura |
out.open(nombre); /*Apertura para Escritura. (borra el
contenido si lo hubiera)*/ |
| out.open(nombre,ios::app); //Apertura para añadir datos al final |
| ios:: out); //Apertura para Lectura y Escritura |
| ios:: out); //Apertura para Lectura y Escritura |
- Cierre de ficheros: Un fichero anteriormente abierto y con un descriptor asociado a él debe ser cerrado con el fin de liberar los recursos asociados a él de la siguiente forma:
descriptor.close( )
Detección de fin de fichero y otras funciones
- La función eof() que devuelve true si se ha alcanzado el final del fichero y falso en cualquier otro caso. REQUIERE LECTURA ADELANTADA: Para que la función eof() devuelva un valor de verdad (actualizado).
- La funcioón fail() devuelve true si existe un error en una operación de flujo asociada al fichero.
- La función bad() devuelve true si el flujo está corrupto.
- La función good() que devuelve true si no existe un error en una operación de flujo y false en caso contrario.
Antes de empezar a leer o escribir en un fichero es siempre conveniente verificar que la operación de apertura se realizó con éxito.
Ficheros de texto
La lectura y la escritura en un archivo de texto se puede realizar directamente con los operadores << y >> al igual que se realiza sobre los flujos estándares cin y cout.
Fuente
Laboratorio de Programación 1º A E.T.S.I. Informática Gestión