jueves, 10 de diciembre de 2009

E/S básica

Las operaciones más sencillas que se pueden realizar sobre un fichero que ya esté abierto son getc y putc.

int getc(fp)

FILE *fp;

getc devuelve el siguiente caràcter del fichero especificado for fp, o EOF (definida en ). EOF se devuelve cuando se produce algún error o se alcanza el final de fichero.

Análogamente:

int putc(fp)

FILE *fp;

putc escribe el caràcter dado en el fichero fp, y retorna "c" o EOF (en caso de error).

feof(fp)

FILE *fp;

feof devuelve un valor distinto de cero si se ha llegado al final del fichero fp.

ferror(fp)

FILE *fp;

ferror devuelve un valor distinto de cero si se ha encontrado algùn error durante la lectura o escritura del fichero fp

fclose(fp)

FILE *fp;

fclose cierra el fichero fP' devolviendo un EOF si se produce algún error (por ejemplo, si el fichero fp no fue abierto previamente).

La funciòn freopen

FILE *freopen(name, mode, fp)

char *name;

char *mode;

FILE *fp;

en primer lugar cierra el fichero especificado por fp y abre un nuevo fichero, de modo que el fichero recién abierto reutiliza la estructura FILE apuntada por fp. Freopen devuelve fp si la apertura se ha realizado sin problemas, o NULL en caso contrario.

ungetc(c, fp)

char c;

FILE *fp;


ungetc provoca que la siguiente llamada a getc(fd) (así como scanf, getw, gets, y las restantes funciones de lectura) lea el carácter "c". Mediante el empleo dé úngete sólo se puede poner un carácter en el buffer del fichero fd.