fopen

Sintaxis

#include <stdio.h>

FILE *fopen(const char *filename, const char *mode);

Descripción

Esta función abre el fichero denominado filename según el modo indicado por mode. El modo se puede expresar de las siguientes formas:

Carácter

de modo

Descripción
r Abre un fichero existente para la lectura.
w Crea un nuevo fichero o trunca uno existente y lo abre para escritura.
a Abre un fichero existente o lo crea para escritura. Antes de cada escritura el puntero del fichero se posiciona al final de éste.

Estos tres caracteres pueden ir seguidos de:

Carácter

adicional

Descripción
b El fichero se abre en modo binario.
t El fichero se abre en modo texto.
+ Abre el fichero para lectura y escritura.

Si se ha abierto el fichero para lectura y escritura, se debe invocar a fflush, fseek, o rewind antes de cambiar de lectura a escritura o de escritura a lectura.

Si b no se especifica en mode, el modo del fichero es texto.

Valor devuelto

Un puntero a la estructura FILE, o NULL si ha ocurrido un error.

Portabilidad

ANSI, POSIX

Ejemplo

La función escribeMatriz escribe en un fichero una matriz de números reales.

#include <stdio.h>
int escribeMatriz(const char *entrada, float a[][10], int nfilas){
   FILE *fentrada;
   fentrada = fopen(entrada, "wb");
   if(fentrada == NULL) return 1;   /* Si no se puede abrir el fichero devuelve 1 */
   fwrite(a,sizeof(float),nfilas*10,fentrada);
   fclose(fentrada);
   return 0;    /* Si no ocurre ningún error devuelve 0 */
}