[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?



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