setvbuf kann stdin nicht ungepuffert machen

Meine Hauptabsicht war es zu machengetchar kehren Sie zurück, sobald ein Charakter gefunden wurde, anstatt auf das Symbol zu wartenEINGEBEN Schlüssel. Ich habe es versucht

<code>int main()
{
    setvbuf(stdin,NULL,_IONBF,0);
    getchar();

    return 0;
}
</code>

Vergleicht man dies mit dem Prototyp vonsetvbuf

<code>setvbuf ( FILE * stream, char * buffer, int mode, size_t size );
</code>

es sollte sich setzenstdin in den ungepufferten Modus.

Aber dennochgetchar() wartet weiter aufEINGEBEN

Ich habe ähnliche Beiträge gesehen

Drucken beim Lesen von Zeichen in C

die alternative Methoden vorschlagen, um zu machenstdin ungepuffert. Aber ich bin gespannt, warumsetvbuf Methode funktioniert nicht

Antworten auf die Frage(2)

Ihre Antwort auf die Frage