我想关闭stdout的缓冲以获取以下代码的确切结果
while(1) {
printf(".");
sleep(1);
}
代码printf一堆'。'只有当缓冲区被填满时。
答案 0 :(得分:84)
答案 1 :(得分:9)
您也可以使用setbuf
setbuf(stdout, NULL);
这将照顾一切
答案 2 :(得分:2)
使用fflush(stdout)
。您可以在每printf
之后调用它以强制缓冲区刷新。
答案 3 :(得分:0)
使用fflush(FILE * stream)和stdout作为参数。
答案 4 :(得分:-2)
你可以做到
write(1, ".", 1);
而不是
printf(".");