int main ()
{
if (getchar()!=EOF)
puts("Got a character");
else
puts("EOF");
}
Что я должен вводить в stdin на терминале для создания EOF?
Ответ 1
В Windows Control+Z является типичным сочетанием клавиш, означающим "конец файла", в Linux и Unix обычно Control+D.
Ответ 2
EOF по какой-то причине завернута в макрос - вам никогда не нужно знать значение.
Из командной строки, когда вы запускаете свою программу, вы можете отправить EOF в программу с помощью Ctrl - D (Unix) или CTRL - Z (Microsoft).
Чтобы определить, что значение EOF находится на вашей платформе, вы всегда можете просто распечатать его:
printf ("%i\n", EOF);
Ответ 3
Вы можете имитировать EOF с помощью:
Windows: ctrl + Z
Unix: ctrl + D
Ответ 4
Он пока не упоминается ни в одном из других ответов, но вам может понадобиться нажать правую комбинацию клавиш (^ D или ^ Z) 2 или 3 раза, чтобы фактически сигнализировать EOF; см. здесь для объяснения.