Archivos


ARCHIVOS EN C++ = FLUJOS DE ENTRADA/SALIDA.
Ejemplo: cin y cout


Tipos de ficheros: DE TEXTO y BINARIOS


Biblioteca de gestión de ficheros (a incluir en los programas)

#include <fstream.h>

Apertura de ficheros (1) : Ficheros de entrada o salida.
(A) Como fichero de entrada: Para ello empleamos la sentencia
ifstream descriptor (“nombre.extensión”);
(B) Como fichero de salida: Para ello empleamos la sentencia  
ofstream descriptor (“nombre.extensión”);

Comentario: EMPLEAR EL DESCRIPTOR A PARTIR DE AQUÍ.

Apertura de ficheros (2) : Ficheros de entrada o salida.



PRIMERO: declaramos la dirección del flujo de entrada

ifstream descriptor; // Para ficheros de  entrada
ofstream descriptor; // Para ficheros de salida

SEGUNDO: Asociamos el descriptor de ficheros al fichero en sí.

descriptor.open(“nombre.extensión”,int modo);

Donde modo puede ser una combinación (empleando |) de lo siguiente:
        ios:: in // Modo entrada
        ios:: out // Modo salida (por defecto)
        ios:: app // Modo añadir, o sea, posicionar el cursor del fichero (ver abajo)

// al final del fichero antes de cada escritura


        ios:: binary // El archivo se abre en modo binario
        ios:: ate // El archivo se abre y el cursor se posiciona al final
        ios:: nocreate // Genera un error si el fichero no existe
        ios:: noreplace // Genera un error si el fichero existe ya
        Apertura de ficheros (3) : Combinando ambas formas


ifstream descriptor(“nombre.extensión”,int modo); // para entrada
ofstream descriptor(“nombre.extensión”,int modo); // para salida



Ejemplo :

Las dos líneas siguientes abren el fichero “mio.txt” como fichero de entrada (para lectura) y lo asocian al descriptor in.

ifstream in; // descriptor del fichero a abrir
in.open(“mio.txt”); // Apertura del fichero;

Esas dos líneas equivalen a la siguiente:

ifstream in (“mio.txt”); // Apertura del fichero;

Ejemplo :

Para abrir el fichero “salida.dat” en modo modo salida (si el fichero no existe lo crea, y si existe borra su contenido) asociándolo al descriptor out podemos usar la siguiente sentencia;

ofstream out("salida.txt");

o la siguiente

ofstream out("salida.txt", ios::out);

o también

ofstream out;

out.open("salida.txt");



Ficheros de entrada/ salida (1): Declaración-apertura  fstream descriptor;

descriptor.open(“nombrefichero.ext”, ios::in | ios::out)
Ficheros de entrada/ salida (1): Declaración-apertura

fstream descriptor(“nombre.extensión”,ios::in | ios:: out); // para entrada-salida

Comprobación de apertura correcta.

if (descriptor){
\\Buen estado. Continuamos
\\ operando sobre el fichero
.....
}
if (! descriptor){
\\ Mal estado. Escribimos un mensaje
\\ a la salida estándar
cout << “Error en la apertura “
.....
}
Ejemplo:
ifstream in("F1.dat");
if (!in)
{
cout << "\n Incapaz de crear este o abrir el fichero "; // salida estándar
cout << " para salida " << endl;
}
else
{
.... // Se opera sobre el fichero
}
Cierre de ficheros.
descriptor.close()



No response to “Archivos”