stdin只能进行行缓冲吗?

时间:2018-04-24 12:33:21

标签: c terminal stream stdin

我将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

0 个答案:

没有答案