[Prévia cron] [Próxima Cron] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
[Índice de autor]
RE: O que compoe uma palavra?
- Subject: RE: O que compoe uma palavra?
- From: Paulo Feofiloff <pf@ime.usp.br>
- Date: Thu, 30 Sep 1999 12:40:04 -0300
giord@uol.com.br writes:
> No EP1, eu gostaria de sbaer o que devo considerar como sendo as
> 'letras' das palavras que deveremos procurar. Até o momento, eu estou
> considerando como letra tudo o que não for: espaco (' '), tabulacao
> ('\t'), enter ('\n'), nulo (NULL) e fim de arquivo (EOF).
Certo. Acho que todos os caracteres no intervalo 32..255
devem ser considerados ``letras''.
(O caracter 32, por exemplo, é ' '; e 33 é '!' se não me engano.)
Todos os caracteres de controle ('\n', '\r', '\t', etc.)
ficam no intervalo 0..31.
> Outra coisa: o enter (\n), pelo que sei é constituido por dois
> caracteres da tabela ASCII, o line feed e o carriage return ( estou
> certo?).
Nos arquivos gerados em DOS/Windows, o fim-de-linha é indicado
por DOIS caracteres: o '\r' (código 13) e o '\n' (código 13).
Nos arquivos gerados em UnixLinux, o fim-de-linha é indicado
por um só caracter: o '\n'.
Mas eu acho que o seu programa deveria se preocupar o menos possível
com essas questões de baixo nível.
> Se isso for verdade, eu devo então alocar dois CHARes para
> guardar um '\n'?
Sugiro não guardar o caracter (ou o par de caracteres)
que marca(m) o fim de uma linha.
Jogue-os fora logo após a leitura.
> E o getc() devolve o '\n' de uma vez ou separado em
> dois caracteres?
Acho que uma chamada do getc devolve '\r' e a chamada seguinte
devolve '\n'.
> Para evitar esse tipo de confusão seria melhor abrir os
> arquivos no modo binário ( em de abri-lo como "r" usar "rb", por
> exemplo)?
Sugiro NÃO usar leitura binária (pelo menos por enquanto).
PF