刷新缓冲区~

关于刷新缓冲区,目前的我还没看到有什么必要,因为感觉不用函数刷新的就很普遍啦~~

首先说一说什么叫缓冲区:在执行printf()输出函数的时候,将要输出的东西会发向输出缓冲区(在c++里叫输出流)。在执行输入的时候,将要输入的东西会发向输入缓冲区(在c++里叫输入流)。

那什么又是刷新缓冲区呢:刷新缓冲区指的是输出时将输出缓冲区里面的内容传给屏幕,显示出来;将输入缓冲区里面的内容传给变量。达到 清空缓冲区的效果。


那什么时候会刷新缓冲区呢?

cpp里面值列举了3种情况:  1.在缓冲区满了的时候   2.在遇到\n  \r的时候    3.在遇到输入函数的时候


但是就拿一个最简单的程序来看:

#include<stdio.h>

int main(void)

{

printf("hello world");

return 0;

}

很明显,这个肯定会输出,但是有明显没有达到上述的三种情况,所以经四海八荒查证资料得:还有几种情况也会自动刷新啦,比如程序结束的时候,进程结束的时候。

所以说现在刷的很普遍,作为一个程序猿基本不用担心,如果真的遇到有问题的时候,我们还有刷新函数,如下:

#include
   
   
    
    
int main(void)
{
	printf("111111");
	_flushall();//这是刷新所有缓冲区的函数
	fflush(stdin);//根据里面的参数知道,这个函数起到的作用是刷新输入缓冲区
	fflush(stdout);//根据里面的参数知道,这个函数起到的作用是刷新输出缓冲区
	getchar();
	return 0;
}
   
   

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值