В этой теме электронной почты говорится об ошибке, которая очень похожа на вашу, но я не вижу, что есть какие-то дополнения к ней.
Мне было бы интересно узнатьчто случилось, когда вы попытаетесь
while(getc(stdin) != EOF)
и если это не сработает, попробуйте while(fgetc(stdin) != EOF)
Все они должны работать ,хотя эта страница предполагает, что между этими функциями могут быть различия в реализации.
Еще одна вещь, которую вы можете попробовать, - это напечатать значение ASCII того, что вы получите:
printf("%d\n",(int)getchar());
Кроме того, попробуйте выводить данные из файла, а не вводить его в консоли.Создайте файл input.txt
, вставьте в него несколько символов и выполните
cat input.txt | ./program
РЕДАКТИРОВАТЬ: Вы пишете бегущий кот и работает, как работает.Я бы сказал, просто обновите вашу версию Cygwin.Вы столкнулись с ошибкой.Получить новейшие версии Cygwin и компилятор, и вы должны быть в порядке.Другой вариант - использовать scanf .