[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

curiosidades: ungetc() e isspace()



Como disse o Nelson na aula de hoje, segundo a especificaçao do ungetc(),
somente 1 caractere é garantido, ou seja, se voce der vários ungetc em
seguida, talvez só o último esteja na entrada quando voce começar a dar o getc
novamente. Isso depende da implementaçao:

ungetc() pushes c back to stream, cast to unsigned char, where it is available
for subsequent read operations.  Pushed - back characters will be returned in
reverse order; only one pushback is guaranteed.

Por curiosidade eu dei uma olhada na implementaçao na libc do Linux que fica
no arquivo libc-5.4.46/libio/genops.c e descobri que, no Linux, dá prá dar
ungetc várias vezes que o libc cuida de todos os caracteres direitinho.


Quanto ao isspace()
              checks for white-space characters.  In the "C" and "POSIX"
              locales, these are: space, form-feed ('\f'), newline ('\n'),
              carriage return ('\r'), horizontal tab ('\t'), and vertical tab
              ('\v').

[]s,
Fabio.