所以,我正在开发一个大项目,它需要禁用标准输入和标准输出缓冲区,以便立即处理输入和输出。然而,当我尝试使用
setbuf
或 setvbuf
来做到这一点时,它就是行不通。这是我的代码:
#include <stdio.h>
#include <stdbool.h>
int main() {
setbuf(stdin, NULL);
setbuf(stdout, NULL);
setbuf(stderr, NULL);
while(true) {
char a = getchar();
printf("%c", a);
}
return 0;
}
我使用的是Linux,但是我无法在Windows计算机上测试它,所以我无法确认这是否是Linux问题。
这是一个不起作用的视频:https://youtu.be/EWs5H_6h9DQ