#include <stdio.h>
/*Checking whether the value of (getchar() != EOF) is 1,
when not reaching the EOF*/
main() {
int c;
printf("Please enter character:\n");
while (c = getchar() != EOF) {
printf("%d\t", c);
}
printf("%d - at EOF\n", c);
}
Я запустил этот код в CLion, но была проблема, что содержимое в первом printf()
не появилось, пока я не ввел несколько слов.
Вот пример.
error
^D
Please enter character:
1 1 1 1 1 1 0 - at EOF
Я знаю, что это, вероятно, потому что я отключил опцию run.processes.with.pty в реестре, поскольку предложение «Пожалуйста, введите символ:» находится в нужном месте, когда эта опция доступна. Но если я этого не сделаю, я не смогу использовать Ctrl + D для отправки EOF. Кроме того, кажется, что результат может быть правильным только тогда, когда я наберу Ctrl + D в новой пустой строке после символов.
Платформа: Windows 10, набор инструментов: MinGW
Кстати, я тоже пробовал Cygwin. Та же проблема возникла снова. Есть идеи?