fflush(stdin)是什么意思?

 我来答
热爱生活的小斌
高能答主

2022-08-16 · 我们生活在比较之中,有黑暗才有光明。
热爱生活的小斌
采纳数:779 获赞数:21566

向TA提问 私信TA
展开全部

fflush(stdin)是清空输入缓冲区的意思。

stdin就是标准输入std,即standard(标准),in 即 input(输入),合起来就是标准输入。 一般就是指键盘输入到缓冲区里的东西。

在清除文件缓冲区时使用,文件以写方式打开时将缓冲区内容写入文件。

scanf函数接收输入数据应注意什么?

scanf函数接收输入数据时,遇以下情况结束一个数据的输入:遇空格、回车、跳格键;遇宽度结束;遇非法输入。

键盘缓冲区就可能有残余信息问题。scanf函数应该只是扫描stdin流,这个残存信息是在stdin中,解决就要在scanf函数之后加个fflush(stdin)。还有注意不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束。

Zoie17980
2021-12-27 · TA获得超过2.6万个赞
知道小有建树答主
回答量:545
采纳率:100%
帮助的人:16.2万
展开全部

fflush(stdin)是一个计算机专业术语,功能是清空输入缓冲区,通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行fflush(stdin)。

此函数仅适用于部分编译器(如VC6),但是并非所有编译器都要支持这个功能(如gcc3.2),这是一个对C标准的扩充。

fflush(stdin)返回值:

如果成功刷新,fflush返回0。指定的流没有缓冲区或者只读打开时也返回0值。返回EOF指出一个错误。

注意:如果fflush返回EOF,数据可能由于写错误已经丢失。当设置一个重要错误处理器时,最安全的是用setvbuf函数关闭缓冲或者使用低级I/0例程,如open、close和write来代替流I/O函数。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式