Linux程序设计的时候需要清空标准输入缓冲区,于是使用了如下Windows程序设计中的方法:

1.fflush(stdin);这个fflush()函数根本不是标准C中的函数,只是标准C的扩展,所以在Linux中使用根本不行;

2.中网上搜索了下,发现有网友建议使用rewind(stdin);这个函数其实是将指针指向流的开始处。但是它是文件操作中的一个函数,操作的是FILE型流,在Windows程序设计中是可以清空标准输入缓冲区的,但是在Linux中不行。

3.通过读完标准缓冲区中的剩余字符并丢弃掉来清空标准缓冲区,使用的函数是getchar(),此函数的作用是从标准输入缓冲区中读出一个字符,此方法中Linux中可行。

如果需要清除stdin可以通过如下循环实现:

char ch;

while((ch=getchar())!='/n'&&ch!=EOF);

以上语句将清除stdin中的字符,知道遇到换行符或者是读完缓冲区。

以上的方法均可以在Windows程序设计中用来清除缓冲区;

4.在Linux程序设计中也还是有一种用来清空stdin中的方法,直接调用如下的函数:

setbuf(stdin, NULL);

此函数我还没有来得及测试;

通过以上分析,在Linux下清空stdin用两种方法:

1.通过读取剩余的字符并丢弃掉;

char ch;

while((ch=getchar())!='/n'&&ch!=EOF);

或者是:

char s[1024];

fgets(s,1024,stdin);

2.使用函数setbuf(stdin,NULL);

Linux程序设计 清空标准输入缓冲区相关推荐

  1. c语言怎么清空标准输入缓冲区,C语言中如何清空输入输出缓冲区

    C语言中如何清空输入输出缓冲区 答案:5  信息版本:手机版 解决时间 2019-10-06 09:40 已解决 2019-10-05 13:54 C语言中如何清空输入输出缓冲区 最佳答案 2019- ...

  2. c语言清空输入缓冲区函数,c语言:C语言清空输入缓冲区在标准输入(stdin)情况 -电脑资料...

    C语言清空输入缓冲区在标准输入(stdin)情况下的使用 程序1: //功能:先输入一个数字,再输入一个字符,输出hello bit#include int main(){int num = 0;ch ...

  3. C语言编程 - 清空键盘缓冲区

    转载自这里 清空键盘缓冲区很多种方法,如用fflush(stdin); rewind(stdin);等,但是在linux这些都不起作用,还得我今天试了半天都没成功,上网搜了一下发现setbuf(std ...

  4. C语言清空输入缓冲区

    C语言编程 - 清空键盘输入缓冲区 清空键盘缓冲区很多种方法,如用fflush(stdin); rewind(stdin);等,但是在linux这些都不起作用,还得我今天试了半天都没成功,上网搜了一下 ...

  5. 视频教程-Linux程序设计从入门到实战-C/C++

    Linux程序设计从入门到实战 夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项 ...

  6. Exam - Linux程序设计

    Linux考试重点 写在前面: Linux程序设计这门课确实能学到一些实用的东西.但是考试不敢恭维-感觉还是往年卷重要一点吧))) ​ 20届试卷 5道单选+文件锁类型并举例相关系统调用+内核和应用程 ...

  7. C语言清空输入缓冲区的N种方法对比

    C语言中有几个基本输入函数: //获取字符系列 int fgetc(FILE *stream); int getc(FILE *stream); int getchar(void); //获取行系列 ...

  8. linux系统程序问题报告,Linux程序设计实验报告.docx

    Linux程序设计实验报告.docx Linux程序设计实验指导书实验类别课内实验 实验课程名称Linux程序设计实验室名称软件工程专业实验室 实验课程编号 000 总 学 时32 学 分 2 适用专 ...

  9. Linux程序设计(第4版)

    查看书籍详细信息: Linux程序设计(第4版) 编辑推荐 最负盛名的Linux程序设计图书 内容全面深入 全球开源社区集体智慧结晶 内容简介 本书讲述了Linux系统及其他UNIX风格的操作系统上的 ...

  10. Linux程序设计—多进程编程

    文章目录 1.进程 1.1.创建进程 1.1.1.fork() 1.1.2.vfork() 1.2.执行进程--exec函数族 1.3.进程退出 1.3.1.exit()和_exit() 1.4.进程 ...

最新文章

  1. c语言实现线性结构(数组与链表)
  2. 美国科技界高度关注中国科技创新进展
  3. 008_SpringBoot视图层技术jsp
  4. 软件工程师生存指南:面试准备、工作经验和实用工具
  5. 关于WebView加载URL时显示一片空白的问题
  6. Potato的暑期训练day#1题解 ——毒瘤构造
  7. POJ 3181 Dollar Dayz DP
  8. 陶陶摘苹果(信息学奥赛一本通-T1103)
  9. unity fixedupdate_Unity之滚球游戏(上)
  10. 【codevs1220】数字三角形
  11. 华为盒子EC6110-T-通刷-免拆刷机固件及教程
  12. php多域名跳转,旱的旱死,涝的涝死,中超联赛的怪事
  13. 逆向实战 2#去除程序注册、正版校验,绕过联网校验
  14. MStar点屏(LVDS接口屏)
  15. 深圳一普通中学老师工资单曝光,秒杀程序员,网友:酸了酸了
  16. STM32F4应用-串口通信
  17. uniapp基础介绍
  18. 前端之路之mac PS的安装破解
  19. 微信开发小程序报wxss编译错误
  20. IDEA离线插件安装包下载方法

热门文章

  1. 单片机外文参考文献期刊_单片机-英文参考文献
  2. ie剪切增强版工具---自由填表工具filltable
  3. 数据、数据库、数据库管理系统,数据库系统的概念
  4. 【读书笔记】《华为工作法》
  5. python同花顺交易接口_TradeApi为A股程序化交易接口2.9.0发布
  6. 如何解决同花顺软件打开时,出现 “无法与服务器建立连接” 的问题
  7. mysql系统表查询sql server_sql server查看所有数据库
  8. Everything搜索工具不能搜索硬盘文件夹问题解决
  9. 第三届“传智杯”全国大学生IT技能大赛(初赛B组)
  10. SPSS统计分析与行业应用案例详解