manejo de archivos en c

Páginas: 10 (2303 palabras) Publicado: 6 de mayo de 2014
  14.- FICHEROS
 


     Ahora veremos la forma de almacenar datos que podremos recuperar cuando deseemos. Estudiaremos los distintos modos en que podemos abrir un fichero, así como las funciones para leer y escribir en él.


14.1.- Apertura

     Antes de abrir un fichero necesitamos declarar un puntero de tipo FILE, con el que trabajaremos durante todo el proceso. Para abrir elfichero utilizaremos la función fopen( ).

     Su sintaxis es:

FILE *puntero;
puntero = fopen ( nombre del fichero, "modo de apertura" );


     donde puntero es la variable de tipo FILE, nombre del fichero es el nombre que daremos al fichero que queremos crear o abrir. Este nombre debe ir encerrado entre comillas. También podemos especificar la ruta donde se encuentra o utilizar un arrayque contenga el nombre del archivo ( en este caso no se pondrán las comillas ). Algunos ejemplos:

puntero=fopen("DATOS.DAT","r");
puntero=fopen("C:\\TXT\\SALUDO.TXT","w");


     Un archivo puede ser abierto en dos modos diferentes, en modo texto o en modo binario. A continuación lo veremos con más detalle.


     Modo texto

w crea un fichero de escritura. Si ya existe lo crea denuevo.
w+ crea un fichero de lectura y escritura. Si ya existe lo crea de nuevo.
a abre o crea un fichero para añadir datos al final del mismo.
a+ abre o crea un fichero para leer y añadir datos al final del mismo.
r abre un fichero de lectura.
r+ abre un fichero de lectura y escritura.


     Modo binario

wb crea un fichero de escritura. Si ya existe lo crea de nuevo.
w+b creaun fichero de lectura y escritura. Si ya existe lo crea de nuevo.
ab abre o crea un fichero para añadir datos al final del mismo.
a+b abre o crea un fichero para leer y añadir datos al final del mismo.
rb abre un fichero de lectura.
r+b abre un fichero de lectura y escritura.



     La función fopen devuelve, como ya hemos visto, un puntero de tipo FILE. Si al intentar abrir elfichero se produjese un error ( por ejemplo si no existe y lo estamos abriendo en modo lectura ), la función fopen devolvería NULL. Por esta razón es mejor controlar las posibles causas de error a la hora de programar. Un ejemplo:

FILE *pf;
pf=fopen("datos.txt","r");
if (pf == NULL) printf("Error al abrir el fichero");


     freopen( )


     Esta función cierra el fichero apuntado porel puntero y reasigna este puntero a un fichero que será abierto. Su sintaxis es:

freopen(nombre del fichero,"modo de apertura",puntero);


     donde nombre del fichero es el nombre del nuevo fichero que queremos abrir, luego el modo de apertura, y finalmente el puntero que va a ser reasignado.


14.2.- Cierre

     Una vez que hemos acabado nuestro trabajo con un fichero esrecomendable cerrarlo. Los ficheros se cierran al finalizar el programa pero el número de estos que pueden estar abiertos es limitado. Para cerrar los ficheros utilizaremos la función fclose( );.

     Esta función cierra el fichero, cuyo puntero le indicamos como parámetro. Si el fichero se cierra con éxito devuelve 0.

fclose(puntero);


     Un ejemplo ilustrativo aunque de poca utilidad:FILE *pf;
pf=fopen("AGENDA.DAT","rb");
if ( pf == NULL ) printf ("Error al abrir el fichero");
else fclose(pf);

14.3.- Escritura y lectura

     A continuación veremos las funciones que se podrán utilizar dependiendo del dato que queramos escribir y/o leer en el fichero.


     Un caracter

fputc( variable_caracter , puntero_fichero );


     Escribimos un caracter en unfichero ( abierto en modo escritura ). Un ejemplo:

FILE *pf;
char letra='a';
if (!(pf=fopen("datos.txt","w"))) /* otra forma de controlar si se produce un error */
{
printf("Error al abrir el fichero");
exit(0); /* abandonamos el programa */
}
else fputc(letra,pf);
fclose(pf);




fgetc( puntero_fichero );


     Lee un caracter de un fichero ( abierto en modo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • manejo archivos c#
  • Manejo De Archivos En C# (Con Codigos Ejemplo)
  • Programa Que Maneja Estructuras De Organizaci N De Archivos En C
  • Manejo archivos c++
  • Manejo de archivos en c++
  • Manejo Archivos C++
  • Manejo de archivo en c++
  • Manejo de archivos en C

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS