C语言中如何清空输入输出缓冲区

答案:5  信息版本:手机版

解决时间 2019-10-06 09:40

已解决

2019-10-05 13:54

C语言中如何清空输入输出缓冲区

最佳答案

2019-10-05 15:11

最简单的是用fflush()函数。

此函数包含在stdio.h头文件中,用来强制将缓冲区中的内容写入文件。

函数原型:int fflush(FILE *stream) ;

函数功能:清除一个流,即清除文件缓冲区.

常用场合:

一、ff(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃

fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。

二、scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结 束)。

① 遇空格、“回车”、“跳格”键。

② 遇宽度结束。

③ 遇非法输入。

键盘缓冲区就可能有残余信息问题。

scanf()函数应该只是扫描stdin流,这个残存信息是在stdin中

解决就要在scanf()函数之后加个fflush(stdin)

三、写文件的时候 不会马上进行物理磁盘的文件读写,而是先写入缓存,当缓存中内容达到一定程度后再写

FILE *fp=fopen("a.txt","w");

fprintf(fp,"abcdef");

fflush(fp);

全部回答

1楼

2019-10-05 19:51

我暂时保留我的看法!

2楼

2019-10-05 18:23

1、flush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃

fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。

2、scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。

① 遇空格、“回车”、“跳格”键。

② 遇宽度结束。

③ 遇非法输入。

键盘缓冲区就可能有残余信息问题。

scanf()函数应该只是扫描stdin流,这个残存信息是在stdin中

解决就要在scanf()函数之后加个fflush(stdin)。

3楼

2019-10-05 16:57

flush(stdin) flush(stdin)是用来清空输入缓冲区,通常是为了确保不影响后面的数据读取,例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行flush(stdin)。

例如

scanf("%s",tmp);

scanf("%c",&ch);

之间如果没有flush(stdin);那么ch中就接收的是换行了

表现为直接跳过了这一步

4楼

2019-10-05 16:29

最简单的是用fflush()函数。

此函数包含在stdio.h头文件中,用来强制将缓冲区中的内容写入文件。

函数原型:int fflush(FILE *stream) ;

函数功能:清除一个流,即清除文件缓冲区.

常用场合:

一、ff(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃

fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。

二、scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结 束)。

① 遇空格、“回车”、“跳格”键。

② 遇宽度结束。

③ 遇非法输入。

键盘缓冲区就可能有残余信息问题。

scanf()函数应该只是扫描stdin流,这个残存信息是在stdin中

解决就要在scanf()函数之后加个fflush(stdin)

三、写文件的时候 不会马上进行物理磁盘的文件读写,而是先写入缓存,当缓存中内容达到一定程度后再写

FILE *fp=fopen("a.txt","w");

fprintf(fp,"abcdef");

fflush(fp);

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

c语言怎么清空标准输入缓冲区,C语言中如何清空输入输出缓冲区相关推荐

  1. c语言清除文件缓存区,C语言之清空缓存区

    在C语言中,我们常常需要去清空缓存区,对于缓存区清空的重要性,接下来我们进行具体的说明. 首先我们先解释一下缓存区. 1.缓存区 C语言中的缓冲区又称为缓存,它是内存空间的一部分. 也就是说,在内存空 ...

  2. C语言文件缓冲区作用,C语言 文件操作4--文件结构体FILE的理解以及缓冲区再讲...

    //文件结构体FILE的理解以及缓冲区再讲 #include #include //要点:文件结构 //struct _iobuf { // char *_ptr; ------当前缓冲区内容指针 / ...

  3. c语言输入函数有什么作用,c语言的输入函数有哪些

    c语言的输入函数有:1.scanf()函数.从标准输入stdin读取格式化输入:2.getchar()函数,从标准输入stdin获取一个字符:3.gets()函数,从标准输入stdin读取一行:4.g ...

  4. c语言prime函数怎么用_C语言教程_v20201106

    编程基础 1.1    通俗地理解什么是编程语言 1.2    C语言究竟是一门怎样的语言? 1.6    初中毕业能学会编程吗? 1.7    C和C++到底有什么关系? 1.8    学了 C 语 ...

  5. c语言非常道李忠答案,C语言非常道

    C语言的图书多如牛毛,但绝大多数都很单纯,无外乎语法.技巧或者实例.C语言的教与学,远不止语法和示例这么简单.语言是应用的工具,只能深入到历史和实际应用的土壤里,从现实中寻找这门计算机语言的定位,学习 ...

  6. c语言作业朱鸣华,C语言程序设计教程 第4版

    图书简介 本书介绍利用C语言进行程序设计的基本知识.全书共12章,详细介绍了C语言的基本概念.算法与程序设计基础.数据的输入和输出.选择结构.循环结构.数组.函数.指针.结构体与共用体.文件.面向对象 ...

  7. C语言小游戏大全,C语言贪吃蛇小游戏(附源码)

    一.C语言小游戏大全,C语言贪吃蛇小游戏(附源码) 贪吃蛇小游戏源码和更多C语言课设项目小游戏源码免 费 下 载 链 接 如下: c语言项目课设小游戏源码资料压缩包.zip-C文档类资源-CSDN下载 ...

  8. 兰州大学C语言程序设计课程作业,兰州大学C语言程序设计课程作业1附答案.doc...

    兰州大学C语言程序设计课程作业1附答案.doc C 语言程序设计课程作业语言程序设计课程作业_A 历次成绩 完成时间 查看详情 1.0.0 2015-11-21 091531 2.0.0 2015-1 ...

  9. C语言 文件读写 fputs 函数 - C语言零基础入门教程

    目录 一.fgets 函数简介 二.fgets 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fgets 函数简介 fge ...

最新文章

  1. pythorch创建简单的神经网络源码
  2. Eclipse一直building workspace问题解决
  3. 算法工程师掌握了这个炼丹技巧的我开始突飞猛进
  4. 涨跌因子计算器下载哪里下载_小白计算器软件下载-小白计算器app下载 v1.0 安卓版...
  5. Page object设计模式
  6. scorm课件学习状态
  7. 安卓案例:使用MPAndroidChart绘制饼状图、柱状图和折线图
  8. GNU:GCC -O 优化等级
  9. 设计模式-Builder Pattern
  10. Font Awesome图标字体
  11. LINUX用户执行过的命令,保存在.bash_history
  12. cmos和ttl_TTL和CMOS的区别详解
  13. 小米音箱蓝牙连不上_小米互联网音箱蓝牙怎么连接?方法如下
  14. 用英语推销计算机设备,销售电脑的英语对话
  15. Laravel文档梳理10、请求生命的周期
  16. Taro+Vue3 - 配置@路径别名
  17. 二进制流序列化(反序列化)和XML序列化(反序列化)
  18. 全面解析四大主流音频技术
  19. 企业为何要建设工业互联网标识解析节点?
  20. python读取特定单词_在文本python中搜索特定单词

热门文章

  1. 关于邮件服务器的dns解析及mx记录问题!
  2. mw325r 服务器无响应),水星(MERCURY)MW325R路由器上不了网/连不上网怎么办?
  3. [HDU6960]Necklace of Beads
  4. 大数据笔记--Spark(第四篇)
  5. 国产化Kettle、JDK、MySQL下载安装操作步骤
  6. 记一次addClass is not a function情况
  7. 5大好用又免费BI软件系统
  8. 毕业设计源码之WMS--开源仓库管理系统
  9. 为Electron 打包后的桌面程序添加自定义向导
  10. 终于知道为什么片子太多会导致硬盘变慢了