Подтвердить что ты не робот

C: Как имитировать EOF?

В настоящее время я читаю книгу K & R и печатаю в примерах из первого раздела, и есть несколько примеров, таких как:

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

Я тестирую эти примеры в окне Windows и, таким образом, запускаю скомпилированные exe файлы из приглашения cmd.

Чтобы проверить пример выше, как смоделировать EOF? То есть, в основном, как я могу остановить цикл при тестировании примера из командной строки?

4b9b3361

Ответ 1

Чтобы ввести EOF, используйте:

  • ^ Z (Ctrl Z) в Windows
  • ^ D в Unix-подобных системах

Ответ 2

Обратитесь EOF

Windows: Ctrl+Z
Unix :Ctrl+D

Ответ 3

Сначала нажмите: Ctrl ^ X, затем: Ctrl ^ D

Ответ 4

Вы также можете имитировать EOF, явно присваивая переменной int значение -1. ​​

Ознакомьтесь с этим кодом для большей ясности:

#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;
}