清空缓存区的方法_清空暂存区-程序员宅基地

技术标签: 缓存  

fflush(文件指针)

 fflush()用于刷新相应文件的缓存区。

使用getchar()函数来清空标准输入缓存区

上面的fflush是一个函数,有些编译器不一定支持,这时候我们可以自己实现清空标准输入缓存区的操作。

代码示例:  

               

使用scanf()的高级特性来清空标准输入缓存区

 

上面代码的意思是:  首先读取缓冲区中除换行符之外的数据,然后读取缓冲区中的换行符,实现清空缓存区。

c++中cin中的sync()函数清空输入缓存区 -- gcc和vc++

cin.sync()可以清空cin的输入缓存区,但是并不是所有的编译器都支持。比如:vc++gcc可以,但是在vs中是没有效果的。 

 那么在vs中怎样清空缓存区呢?

cin.ignore(count,字符);    这句话的意思是:  对于丢弃io缓存区的数据

使用说明:         

1.  丢弃过程中遇到指定字符,那就停止丢弃,并且会丢弃遇到的字符。 

2.   丢弃过程中丢弃的字符超过count指定的字符数量,那么就停止,就是最多丢弃count个字符

3.   丢弃过程中遇到文件结束符EOF,结束丢弃

常用场景: 

我们使用count指定丢弃字符的数量,但是我们平时并不知道丢弃多少个字符,或者平时我们需要丢弃所有的数据,但是我们不知道具体有多少个数据需要释放。所以需要使用一个模版。 

 cin.ignore(std::numeric_limits<streamsize>::max(),'\n');        

1. numeric_limits<streamsize>::max(),  --  是一个模版的使用,表示缓存区的最大值。(最大数量)

2.  上面的意思就是,丢弃所有的缓存区数据,遇到换行符'\n',就结束输入。 

3.  为什么是换行符'\n'?

    因为我们使用的时候是以cin为例cin是以'\n'结束的。所以遇到'\n'就是所有数据的最后,也就将数据全都丢弃了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_68026222/article/details/135021747

智能推荐

电网的正序参数和等值电路(一)-程序员宅基地

文章浏览阅读756次,点赞9次,收藏21次。本篇为本科课程《电力系统稳分析》的笔记。本篇为第二章的第一篇笔记。电力系统正常运行中,可以认为系统的三相结构和三相负荷完全对称。而对称三相的计算可以用一相来完成,其中所有给出的标称电压都是线电压的有效值,假定系统全部是Y-Y型连接,不是Y-Y型连接的全部要变换成Y-Y型连接,在这种情况下线电压为相电压的3\sqrt{3}3​倍,即U˙L=3U˙P\dot{U}_L=\sqrt{3}\dot{U}_PU˙L​=3​U˙P​,而线电流等于相电流,即I˙L=I˙P\dot{I}_L=\dot{I}_PI˙L​=I

【C#】知识点实践序列之Lock简单解决并发引起数据重复问题_c# 并发重复-程序员宅基地

文章浏览阅读1.3k次,点赞43次,收藏29次。欢迎来到《小5讲堂之知识点实践序列》文章,大家好,我是全栈小5。这是2023年第3篇文章,此篇文章是C#知识点实践序列文章,博主能力有限,理解水平有限,若有不对之处望指正!本篇在Lock锁定代码块基础上进行简单解决并发问题,确保不会出现重复数据。_c# 并发重复

VUE子组件更改父组件数据_vue3子组件修改父组件值-程序员宅基地

文章浏览阅读9.7k次,点赞14次,收藏28次。在有些情况下,我们可能需要对一个 prop 进行“双向绑定”。不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以变更父组件,且在父组件和子组件都没有明显的变更来源。这也是为什么我们推荐以 update:myPropName 的模式触发事件取而代之举个例子,在一个包含 title prop 的假设的组件中,我们可以用以下方法表达对其赋新值的意图:this.$emit(‘update:title’, newTitle) 然后父组件可以监听那个事件并根据需要更新一个本地的数据 property。_vue3子组件修改父组件值

【Linux精讲系列】——vim详解_linux vim-程序员宅基地

文章浏览阅读3.3k次,点赞44次,收藏50次。首先我们要知道vim是什么?vi是由美国程序员比尔·乌尔曼(Bill Joy)于1976年开发的,最初是为了在Unix系统上进行文本编辑而创建的。它是一款基于模式编辑的文本编辑器,以其高效的键盘快捷键而闻名,可在终端环境下使用。vi 成为Unix系统中的标准文本编辑器,并且在大多数Unix和Linux系统上内置。_linux vim

STM32入门开发: LWIP网络协议栈移植(网卡采用DM9000)_网卡芯片和stm32-程序员宅基地

文章浏览阅读9.6k次,点赞40次,收藏215次。一、环境介绍MCU: STM32F103ZET6代码开发工具: Keil5TCP/IP协议栈: LWIP网卡: DM9000本篇文章主要讲解如何在STM32F103工程里添加移植LWIP协议,最终完成TCP服务器、TCP客户端的通信测试。 网卡采用的是DM9000,工程代码中,采用STM32的FSMC接口来驱动DM900网卡,DM9000是并口网卡,引脚多,但是速度快,也可以采用其他网卡,SPI协议的、UART协议的等。 比如:W5500。 因为主要是讲LWIP协议栈的移植,所以网卡相关_网卡芯片和stm32

非常给力的GitHub仓库(深度学习、计算机视觉、OpenCV、自动驾驶、SLAM、C++/Python学习分享)_opencv github-程序员宅基地

文章浏览阅读975次,点赞5次,收藏11次。仓库地址:仓库拉取:不想拉取可以直接下载压缩包。_opencv github

随便推点

Error:No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi-程序员宅基地

文章浏览阅读1.3w次。在android studio中编译工程时,偶尔会遇到Error:No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi这样的错误,可能原因是更新了相关组件导致的,解决方法是到Android studio ( Tools -> Android -> SDK Manager_error:no toolchains

配置文件application.properties中文乱码问题_application.properties 中文-程序员宅基地

文章浏览阅读9.5k次。application.properties有个配置项,值含中文,就不行了。网上绝大多数给出的方案,在idea里面,都是说调整设置,setting-&gt;editor-&gt;File Encodings之类,其实没有什么卵用,对于我这个个案来说。任凭我设来设去,读到的配置信息,仍然是乱码。我的配置文件,其实已经是UTF-8了。后来还是改代码了事,读取配置文件的时候,指定编码。原代码:I..._application.properties 中文

UNIX网络编程_1-源码下载及环境配置_unix网络编程序1 源码下载-程序员宅基地

文章浏览阅读896次,点赞3次,收藏3次。UNIX网络编程配置环境源码下载及环境配置第一个简单的时间获取程序配置环境本人使用的环境为centos 7.2,所使用的配套书籍为UNIX,网络编程第三版链接:https://pan.baidu.com/s/1soJqtB7FtXJrMS0bujuusw提取码:8nom源码下载及环境配置本书所使用的全部源码均可在www.unpbook.com下载,本人也做了百度云存档链接:https..._unix网络编程序1 源码下载

合宙Air105|摄像头|capture|SPI|Serial串口|TFTLCD|Micro SD卡|串口输出|jpg|官方demo|学习(2-2):摄像头camera:功能3:串口输出.jpg_spi camera-程序员宅基地

文章浏览阅读481次。对官方camera - 摄像头demo中capture功能的复现的补充。实现功能3,捕捉图片存入SPI接口外置sd卡,副本同步通过Serial 串口输出jpg文件存入电脑。_spi camera

vue2Vue3dialog框的打开和关闭_vue关闭dialog窗口-程序员宅基地

文章浏览阅读354次。_vue关闭dialog窗口

Android开发中图片的放大缩小功能的实现(总结)_android开发分辨率低的图片放大-程序员宅基地

文章浏览阅读1.2w次,点赞9次,收藏32次。先上代码吧,之后再进行补充和代码优化。activity_main.xml的代码如下:&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:ori..._android开发分辨率低的图片放大