Моя основная цель состояла в том, чтобы вернуть getchar
, как только он получит символ, а не ждет клавишу ENTER. Я попробовал это
int main()
{
setvbuf(stdin,NULL,_IONBF,0);
getchar();
return 0;
}
Сравнивая это с прототипом setvbuf
setvbuf ( FILE * stream, char * buffer, int mode, size_t size );
он должен установить stdin
в небуферизованный режим.
Но все же getchar()
продолжает ждать ENTER
Я видел похожие сообщения вроде этого
Печать при чтении символов в C
которые предлагают альтернативные методы, чтобы сделать stdin
небуферизованным. Но мне любопытно узнать, почему метод setvbuf
не работает