编写背后:国嵌的那段时间,老范曾让我们帮回答下论坛某个会员的问题,代码问题:出不来结果,没任何打印信息;
代码如下():
#i nclude<stdlib.h>
main()
{
printf(" if i will be output ?");
printf(" if i will be in the buffer?");
_Exit(0);
}
注意到,在代码中printf语句打印的字符串最后没有带换行符,而且最后调用了_Exit函数,这导致了在终端屏幕上显示不出来打印信息。
首先介绍一下UNIX里面关于标准IO的几种缓冲机制:
1、全缓冲 。全缓冲指的是系统在填满标准IO缓冲区之后才进行实际的IO操作;注意,对于驻留在磁盘上的文件来说通常是由标准IO库实施全缓冲。
2、行缓冲 。在这种情况下,标准IO在输入和输出中遇到换行符时执行IO操作