简单的清理缓冲区

简介: 简单的清理缓冲区

前言:

      在学习循环语句时,有几个例子:1.多组输入;2.清理缓冲区。希望能够将while循环与实际问题进行结合。


一、多组输入:

1.1  scanf函数的一些见解:

      在进行多组输入的讲解前,我们需要进行介绍scanf函数,在下面的链接上有详细的介绍。https://legacy.cplusplus.com/reference/cstdio/scanf/?kw=scanf,下面是小编我自己的见解:


      1.scanf函数的返回值是int类型的,返回的是读取数据的个数,下面用代码进行证明:


微信截图_20230911221319.png

微信截图_20230911221326.png

2.scanf函数在读取字符串时,遇到空格就不在读取了。

总结:scanf函数是从缓冲区中的数据读取的,读取成功后,返回读取数据的个数;读取失败后,返回EOF(-1);其次在读取字符串时,遇到空格就不在读取了。

1.2  多组输入:

下面进行一个简单的题目:

微信截图_20230911221341.png

二、清理缓冲区:

2.1  什么是缓冲区:

      缓冲区是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。


2.2  为什么要引入缓冲区?

      在以前的时期,我们要用磁盘进行储存信息,我们可以先将数据放在缓冲区,等缓冲区的数据读取完后,再去磁盘中进行读取。这样减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于对磁盘的操作,故应用缓冲区可大大提高计算机的运行速度。


2.3  介绍getchar函数:

      顾名思义,getchar()函数的功能是获取一个字符,而putchar()函数的功能是输出一个字符。


     下面,进行具体的getchar()函数的功能介绍:在下面的链接上有详细的介绍。https://legacy.cplusplus.com/reference/cstdio/getchar/?kw=getchar。getchar()函数,读取成功后,返回读取到字符的ASCII值;读取失败后或遇到文件末尾时,返回EOF(-1)。


2.4  模拟环境进行缓冲区的清理:

      利用循环进行缓冲区的清理,这样如果有特殊情况,我们也可以进行清空缓冲区。

while ((ch = getchar()) != '\n')
    ;

总结:

      小编认为这两个小步骤有可能会成为某个问题的一个步骤,还是要进行学习的,其次通过这个问题可以进一步的了解缓冲区的概念。希望大佬们可以进行点评。

相关文章
|
2月前
|
存储 C语言
文件缓冲区
文件缓冲区
13 0
|
2月前
|
缓存 API C语言
文件的缓冲区
文件的缓冲区
17 1
|
13天前
|
弹性计算 运维 Shell
自动清理临时文件
【4月更文挑战第30天】
15 0
|
6月前
|
存储 缓存 Linux
如何在 Linux 中清空缓冲区和缓存内存?
如何在 Linux 中清空缓冲区和缓存内存?
192 0
如何在 Linux 中清空缓冲区和缓存内存?
|
9月前
|
存储 缓存 数据处理
缓存与缓冲区的区别
在计算机科学中,缓存(Cache)和缓冲区(Buffer)是两个常见的概念。尽管它们的功能有些相似,但它们在实际应用中具有不同的用途和工作原理。本文将介绍缓存和缓冲区之间的区别。
355 0
|
10月前
|
消息中间件 关系型数据库 Shell
记录贴:sentry磁盘占用过大如何清理?
记录贴:sentry磁盘占用过大如何清理?
861 0
|
11月前
|
C语言
理解缓冲区
理解缓冲区
|
12月前
|
算法
重复文件清除工具,硬盘内存拯救者。。。
重复文件清除工具,硬盘内存拯救者。。。
|
存储 编译器 C语言
缓冲区刷新在 C++ 中意味着什么?
缓冲区刷新是将计算机数据从临时存储区域传输到计算机的永久内存。例如,如果我们对文件进行任何更改,我们在一台计算机屏幕上看到的更改会临时存储在缓冲区中。
115 0
|
Linux C语言 Windows
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
188 0
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题