fflush()函数的作用

来源:互联网 发布:外国域名注册 支付宝 编辑:程序博客网 时间:2024/06/07 02:57
fflush用于清空缓冲流,虽然一般感觉不到,但是默认printf是缓冲输出的。fflush(stdout),使stdout清空,就会立刻输出所有在缓冲区的内容。fflush(stdout)这个例子可能不太明显,但对stdin很明显。如下语句:int a,c;scanf("%d",&a);getchar();输入:12(回车)那么 a=12 ,c= '\n' 而:int a,c;scanf("%d",&a);fflush(stdin);getchar();输入:12(回车)那么a=12, c暂时未得到输入值,还需要再输入c,因为getchar也是缓冲输入,'\n'本还在缓冲区,但是被清空了。另外fflush不能作用于重定向输入流。
0 0