Pergunta

Atualmente, estou lendo o livro e digitação de K & R nos exemplos da primeira seção, e há um par de exemplos como este:

while((c = getchar()) != EOF) {
    //do something
}

Eu estou testando esses exemplos em uma caixa de Windows e, assim, executar os arquivos EXE compilado a partir do cmd rápida.

Para testar o exemplo acima, como faço para simular um EOF? Isto é, basicamente, como eu posso fazer parar o loop quando testar o exemplo do prompt de comando?

Foi útil?

Solução

Para introduzir um EOF, use:

  1. ^ Z ( Ctrl Z ) no Windows
  2. ^ D em Unix-like sistemas

Outras dicas

Consulte EOF

Windows: Ctrl+Z
Unix :Ctrl+D

Em primeiro lugar, pressione: Ctrl ^ X, em seguida: Ctrl ^ D

Você pode EOF também simular dando explicitamente variável int um valor de -1.

Confira este código de maior clareza:

#include<stdio.h>

int main() {    
    // char ch=getchar()
    // int ch=-1;

    if(ch==EOF) { printf("\nEOF: %d",EOF); }
    if((ch!=EOF)==0) { printf("\nit is equal to 0"); }
    if((ch!=EOF)==1) { printf("\nit is equal to 1"); }
    else { printf("\n it is equal to other value"); }
    system("pause");
    return 0;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top