setvbuf nie może uczynić stdin niebuforowanym
Moim głównym zamiarem było zrobieniegetchar
wróć, gdy tylko otrzyma postać, zamiast czekać naWCHODZIĆ klawisz. Próbowałem tego
int main()
{
setvbuf(stdin,NULL,_IONBF,0);
getchar();
return 0;
}
Porównując to z prototypemsetvbuf
setvbuf ( FILE * stream, char * buffer, int mode, size_t size );
powinien się ustawićstdin
do trybu niebuforowanego.
Ale nadalgetchar()
czeka naWCHODZIĆ
Widziałem podobne posty w ten sposób
Drukowanie podczas czytania znaków w C
które sugerują alternatywne metody wykonaniastdin
niebuforowany. Ale jestem ciekaw, dlaczegosetvbuf
metoda nie działa