Может ли stdin быть только линейным буфером? - PullRequest
0 голосов
/ 24 апреля 2018

Я установил stdin с полной буферизацией следующим образом:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char buffer[BUFSIZ];
    if (setvbuf(stdin, buffer, _IOFBF, BUFSIZ) != 0) { // here
        printf("an error occured.\n");
        exit(1);
    }
    int number;
    scanf("%d", &number);
    printf("number : %d\n", number);
    return 0;   
}

Тем не менее, результат показывает, что stdin все еще с буферизацией строки. Почему это так?

3
number : 3
...