C编程fflush 函数
最近学习计算机系统第八章 异常的时候涉及到fflush函数的相关知识,有些疑惑,就做了几个小的测试函数试验一下
首先需要知道stdout采用的是行缓冲模式,即printf中如果不加换行符,程序是不会直接在屏幕上打印printf中的内容的,只有当程序碰到
1、\n
2、程序结束
3、调用fflush函数
才会在屏幕上打印。
我现在网站上搜了一点资料,发现有的实验做出来结果不对,索性就直接写一个博客,防止自己忘了。
首现看这个函数1:
主要注意函数的输出结果,函数不会像我们想象的那样先输出wulei,然后再每个一秒输出一个".",而是一起输出,直接最后一行直接出来。
再看函数2:
再看函数2,程序作了一丝丝改动,“wulei\n”和fflush(stdout),我们可以看到程序先将wulei打印出来之后换行,再每隔一秒打印"."。
再看函数3:
我调用了fork()函数创造了一个子进程,发