fflush函数有什么作用?


fflush的功能是冲洗流中的信息,该函数通常用于处理磁盘文件,fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中。比如fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃;fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到输出设备上。
fflush函数的头文件:#include <stdio.h>;fflush的返回值类型是int类型,如果成功刷新,fflush返回0;指定的流没有缓冲区或者只读打开时也返回0值;如果fflush返回EOF,数据可能由于写入错误已经丢失;printf("。。。。。。。");后面加fflush(stdout)语句,可提高打印效率。
C++的标准里没有定义过fflush(stdin),所以不是所有编译器都支持fflush(stdin)函数的,某些编译器(如VC6)支持用fflush(stdin)来清空输入缓冲,但linux下的gcc编译器就不支持这个功能。fflush操作输入流是对C标准的扩充,但fflush函数的行为是不确定的。