Provided by: manpages-es_1.55-10_all bug

NOMBRE

       fgetc,  fgets,  getc,  getchar,  gets, ungetc - entrada de caracteres y
       cadenas de ellos

SINOPSIS

       #include <stdio.h>

       int fgetc(FILE *flujo);
       char *fgets(char *s, int tam, FILE *flujo);
       int getc(FILE *flujo);
       int getchar(void);
       char *gets(char *s);
       int ungetc(int c, FILE *flujo);

DESCRIPCI'ON

       fgetc() lee el siguiente caracter  de  flujo  y  lo  devuelve  como  un
       unsigned  char  modelado a un int, o EOF al llegar al final del flujo o
       en caso de error.

       getc() es equivalente a fgetc() excepto en el hecho de que puede  estar
       implementado como una macro que evalue flujo mas de una vez.

       getchar() es equivalente a getc(stdin).

       gets()  lee  una linea de stdin y la guarda en el bufer al que apunta s
       hasta que se encuentre bien un caracter  terminador  nueva-linea,  bien
       EOF,  al  cual  reemplaza con '\0'.  No se hace ninguna comprobacion de
       desbordamiento del bufer (vea FALLOS mas abajo).

       fgets() lee como mucho uno menos de tam  caracteres  del  flujo  y  los
       guarda  en  el bufer al que apunte s.  La lectura se para tras un EOF o
       una nueva-linea. Si se lee una nueva-linea, se guarda en el bufer. Tras
       el ultimo caracter en el bufer se guarda un '\0'.

       ungetc()  pone  c  de  vuelta en flujo, modelado a unsigned char, donde
       queda  disponible  para  una  posterior  operacion  de   lectura.   Los
       caracteres  puestos  en el flujo seran devueltos en orden inverso; solo
       se garantiza que se pueda devolver al flujo un caracter.

       Las llamadas a las funciones descritas aqui pueden mezclarse  unas  con
       otras  y  con  llamadas  a  otras funciones de entrada de la biblioteca
       stdio para el mismo flujo de entrada.

       Para las versiones no-bloqueantes, vease unlocked_stdio(3).

VALOR DEVUELTO

       fgetc(), getc()  y  getchar()  devuelven  el  caracter  leido  como  un
       unsigned  char modelado a un int o EOF al llegar al final de la entrada
       o en caso de error.

       gets() y fgets() devuelven s en caso de exito, y NULL en caso de  error
       o  cuando  se llegue al final del fichero mientras que no se haya leido
       ningun caracter.

       ungetc() devuelve c en caso de exito, o EOF en caso de error.

CONFORME A

       ANSI - C, POSIX.1

FALLOS

       No use nunca gets().  Puesto que es imposible  saber,  sin  conocer  de
       antemano  los  datos, cuantos caracteres va a leer gets(), y puesto que
       gets() continuara guardando caracteres una vez alcanzado el  final  del
       bufer,  su  empleo  es  extremadamente  peligroso. Muchas veces ha sido
       utilizado para comprometer la seguridad de  un  sistema.  En  su  lugar
       emplee fgets() siempre que pueda.

       No  es  recomendable  mezclar llamadas a las funciones de entrada de la
       biblioteca stdio con llamadas de bajo nivel a read() para el descriptor
       de  fichero  asociado  con  el  flujo  de entrada; los resultados seran
       indefinidos y probablemente no los deseados.

V'EASE TAMBI'EN

       read(2), write(2), ferror(3), fopen(3),  fread(3),  fseek(3),  puts(3),
       scanf(3), unlocked_stdio(3)