#define BUFSIZE 3
int main(){
char c;
static char buf[BUFSIZE];
setbuf(stdout, buf);
while ((c = getchar()) != EOF){
putchar(c);
}
}
但是结果并不是像我想象的按照输入三个字符会自动刷新?请问这是什么问题?
#define BUFSIZE 3
int main(){
char c;
static char buf[BUFSIZE];
setbuf(stdout, buf);
while ((c = getchar()) != EOF){
putchar(c);
}
}
但是结果并不是像我想象的按照输入三个字符会自动刷新?请问这是什么问题?
$ man setbuf
The setbuf() function is exactly equivalent to the call
setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);
注意最后的 BUFSIZ
。
3 回答1.1k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答791 阅读
1 回答869 阅读
1 回答899 阅读
1 回答668 阅读
1 回答775 阅读
自己看清楚文档:
要指定大小,用
setbuffer
。