[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
curiosidades: ungetc() e isspace()
- Subject: curiosidades: ungetc() e isspace()
- From: Fabio Kon <kon@ime.usp.br>
- Date: Tue, 7 May 2002 16:57:06 -0300 (EST)
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.