本文是对C语言中fflush()函数使用的详细分析和介绍,供有需要的朋友参考。
Fflush用于清空缓冲流。虽然通常感觉不到,但默认的printf是缓冲输出。Fflush(stdout),使stdout为空,将立即输出缓冲区中的所有内容。lush (stdout)的例子可能不太明显,但是对于stdin来说就很明显了。如下:int a,c;scanf('%d ',a);c=getchar();Enter: 12(回车),则a=12,c='\n' and: int a,c;scanf('%d ',a);fflush(stdin);c=getchar();Input: 12 (enter)那么a=12,C暂时还没有得到输入值,需要再次输入C,因为getchar也是缓冲输入。\n '仍在缓冲区中,但已被清空。此外,fflush不能用于重定向输入流。Fflush(stdin)刷新标准输入缓冲区,丢弃输入缓冲区的内容,刷新标准输出缓冲区,并将输出缓冲区的内容打印到标准输出设备。
fflush(stdout);//这句话是做什么的?3354fflush()的作用是:如果括号中写有指向打开文件的指针,则将输出缓冲区的内容写入指针所指向的文件,否则清除输出缓冲区。这里stdout是系统定义的标准输出文件指针,默认指向屏幕,也就是把缓冲区的内容写到屏幕上。但是你不能从代码中看到缓冲区的内容,所以它并没有真正发挥作用。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。