EOF

besty

Power Member
Provalmente isto é um pergunta um bocado á novato, mas aqui vai.

Ando em Engenharia Electrotécnica e já tenho algumas bases de C e C++, mas queria me dedicar mais a isto, porque me interesso.

Comecei a seguir um livro, "The C programming language" , ando a lê-lo e a fazer os exercícios. Mas logo no início deparei-me com o seguinte termo "EOF" (end-of-file), que sinceramente não conhecia.
Aparece-me este exemplo:
Código:
#include <stdio.h>
main()
{
     long nc;

     nc = 0;
     while (getchar() != EOF)
               ++nc;
     printf("%ld\n" , nc);
}
onde aparece no início do programa o seguinte comentário: count characters in input.
Pelo que eu percebi deveria contar os caracteres que eu escrevo, mas ao teclar, por exemplo casa, e dar enter não acontece nada. È aqui que está a minha dúvida, ou não percebi nada do que o programa faz ou então não percebi bem o funcionamento do EOF. Por isso peço ajuda ou alguns esclarecimentos, se for possível.
 
Última edição pelo moderador:
Boas
Normalmente o EOF é usado quando se pretende verificar o fim da leitura de um ficheiro!Não acho que seja usado para ler caracteres ou linhas da consola...
Cumps
 
Se for em Windows podes colocar o input num ficheiro e correr:
Código:
prog <input
Acho que ^Z (Ctrl+Z) tambem funciona.
----
Se for Linux, ^D (Ctrl+D).
 
Back
Topo