Para usar las operaciones de entrada/salida de archivos es necesario incluir fstream.h e iostream.h.
Todo archivo se asocia a un flujo, que pueden ser: de entrada, de salida o de entrada/salida.
Lo primero que debemos hacer es abrir un archivo, para lo cual debemos crear un objeto. Este objeto será de tipo ofstream para los flujos de salida, ifstream para los de entrada y fstream para los de entrada/salida.
Una vez creado este objeto, se lo asocia a un archivo usando la función open(), declarado así:
void open(char *nomarch, int modo, int acceso);
nomarch=nombre del archivo.
modo=la forma de abrir el archivo.
acceso=la forma de acceder al archivo.
Ahora, aca les va una tabla con todos los modos de apertura:
Nombre | Función |
in | Abre el archivo para entrada (lectura) |
out | Abre el archivo para salida (escritura) |
app | Abre el archivo para salidaa, de modo que se pueden escribir datos al final del archivo (añadir) |
ate | Se posiciona al final del archivo cuando se abre |
trunc | Si el archivo ya existe destruye su contenido y si no se crea el archivo |
binary | Abre el archivo en modo binario. |
nocreate | Abre el archivo si existe, si no, la apertura falla. |
noreplace | si el archivo existe la apertura falla |
ios::in|ios::out | Abre el archivo para entrada y salida |
ios::out|ios::binary | Abre el archivo para salida binaria |
ios::in|ios::binary | Abre el archivo para entrada binaria |
Y aca uno para los modos de acceso: (mucho yo no lo uso pero bue... nunca se sabe)
Atributo | Función |
0 | Archivo normal, acceso abierto |
1 | Archivo de solo lectura |
2 | Archivo oculto |
4 | Archivo de sistema |
8 | Archivar conjuntos de bits |
Ejemplo básico:
fstream arch; //creo el objeto de flujo
arch.open("archivo.txt",ios::out); //abro el archivo
arch<<"datos ingresados; //ingreso datos
arch.close(); //cierro el archivo
También existe otro método para abrir un archivo: fstream arch("archivo.txt",ios::out)
Hay algo más pero para la próxima
Ingwe