setvbuf não é capaz de fazer stdin unbuffered

Minha principal intenção era fazergetchar retornar assim que receber um caractere em vez de esperar peloENTRAR chave. Eu tentei isso

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

    return 0;
}
</code>

Comparando isso com o protótipo desetvbuf

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

deve definirstdin para o modo sem buffer.

Mas aindagetchar() continua esperando porENTRAR

Eu vi posts relacionados como este

Imprimir durante a leitura de caracteres em C

que estão sugerindo métodos alternativos para fazerstdin sem buffer. Mas estou curioso para saber por quesetvbuf método não funciona

questionAnswers(2)

yourAnswerToTheQuestion