Manejo de Archivo o Ficheros en C
Manejo de Archivo o Ficheros en C
Manejo de Archivo o Ficheros en C
Se verá, la entrada y/o salida de datos utilizando ficheros, lo cual será imprescindible para
un gran número de aplicaciones a desarrollar.
Recuerde que la librería iostream es un componente de la biblioteca estándar
(STL) del lenguaje de programación C++ que es utilizado para operaciones de
entrada/salida. Su nombre es un acrónimo de Input/Output Stream. El flujo de entrada y
salida de datos en C++ (y su predecesor C) no se encuentra definida dentro de la sintaxis
básica y se provee por medio de librerías de funciones especializadas como iostream.
iostream define los siguientes objetos:
Todos los objetos derivados de iostream hacen parte del espacio de nombres std. (using
namespace std;)
Para el manejo de ficheros, a diferencia de los streams para dispositivos estándar, los
cuales son creados y abiertos de manera automática, para trabajar con archivos en discos
se debe primeramente "abrir el archivo", y luego de haber terminado de leer o escribir
datos en el mismo, se debe "cerrar el archivo". En C++, en orden de trabajar con archivos
en disco, se puede emplear las clases fstream, ifstream, y ofstream. Si usted desea
abrir un archivo específico en modo de lectura y escritura use un objeto de la
clase fstream, por el contrario, si desea abrir un archivo solo para lectura o solo para
escritura use objetos de la clase ifstream y ofstream, respectivamente.
Ficheros
El estándar de C++ contiene varias funciones para la edición de ficheros, éstas están
definidas en la cabecera <iostream> y por lo general empiezan con la letra f, haciendo
referencia a file. Adicionalmente se agrega un tipo FILE, el cual se usará como apuntador
a la información del fichero. La secuencia que usará para realizar operaciones será la
siguiente:
#include <iostream>
#include <iostream>
using namespace std;
main() {
FILE *alias;
char buffer[100];
alias = fopen("EJEMPLO.txt", "r");
if (alias==NULL)
{
cout << "\n\r No se puede abrir el archivo !!!"<<endl;
system("pause");
}
else{
cout << "\n\r Si existe el archivo EJEMPLO.txt!!!"<<endl;
fscanf(alias,"%s",buffer);
cout <<buffer<<endl;
system("pause");
}
fclose ( alias );
return 0;
}
Fig. 2. Leer un archivo “EJEMPLO.TXT” en modo lectura y leyendo dentro de él.
Tercer ejemplo, en la Fig. 3. Crear un archivo test.$$$, y llenarlo con una oración "Esta línea de
texto se guardará en el archivo test.$$$".
#include <iostream>
#include <fstream>
#include <cstring>
#include <clocale>
void escogerIdioma();
int crearArchivo(char *filename);
int leerArchivo(char *filename);
int main()
{
escogerIdioma();
crearArchivo(filename);
leerArchivo(filename);
cout << endl << "Presione <Enter>...";
cin.get();
return 0;
}
fichero.close();
cout << "archivo creado exitosamente" << endl;
return 0;
}
// lectura de datos
while ( ! fichero.eof() ) cout << (char)fichero.get();
fichero.close();
cout << endl << "archivo leido exitosamente" << endl;
return 0;
}
void escogerIdioma(){
setlocale(LC_CTYPE, "Spanish");
}
Fig. 3. Crear un archivo test.$$$, y llenarlo con una oración "Esta línea de texto se guardará en el
archivo test.$$$".