怎样清空输入缓冲区里的内容

本文详细解释了fflush()函数的功能及其应用场景。介绍了如何使用fflush(stdin)来清空输入缓冲区,以及fflush(stdout)如何确保输出内容即时显示。同时,文章还探讨了fflush(stdin)的一些限制,并提供了替代方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考自:http://blog.youkuaiyun.com/devil_2009/article/details/6364759

 

 fflush()的作用是用来刷新缓冲区,fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃;fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西强制打印到标准输出设备上。

      fflush(stdin)不太常用,在有些编译器中是错误的用法,可以用以下方法替代:

while(getchar()!='\n');  但是while(getchar() !='\n');是不能代完全替代fflush(stdin);的,因为当输入缓冲区里的内容全部被取出时(包括换行符'\n');必须在输入字符或者按enter键,才能让while(getchar() != '\n');编译通过。

fflush(stdout)在单进程程序中作用不大,但在多进程程序中很有用。程序的输出内容一般不会立即输出,而是在程序结束后再输出。fflush(stdout)会强制每次printf()都立即显示在标准输出设备上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值