我正在学习 linux 系统编程,O'reilly。它说“一个常见的错误是将缓冲区声明为在流关闭之前结束的范围内的自动变量。特别注意不要为 main() 提供本地缓冲区,然后无法显式关闭流。 "
然后它显示了一个错误的代码示例:
#include <stdio.h>
int main()
{
char buf[BUFSIZ];
/*set stdin to block-buffered with a BUFSIZ buffer*/
setvbuf(stdout,buf,_IOFBF,BUFSIZ);
printf("Arr!\n");
return 0;
}
我编译并执行代码..并不太明白这种代码会导致什么......请帮助我理解这个概念,谢谢大家。