简单的清理缓冲区

简介: 简单的清理缓冲区

前言:

      在学习循环语句时,有几个例子: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')
    ;

总结:

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

相关文章
|
6月前
|
缓存 API C语言
文件的缓冲区
文件的缓冲区
75 1
|
6月前
|
存储 C语言
文件缓冲区
文件缓冲区
52 0
|
1月前
|
存储 缓存 固态存储
|
4月前
|
存储 Linux Apache
释放磁盘空间:解决文件删除但空间未释放的困扰
在管理Linux系统的日常中,最令人头疼的时刻之一就是发现尽管已删除了巨大的文件,但是磁盘空间的占用率仍然没有任何下降。这种情况不仅让我怀疑自己的操作是否正确,同时也给操作系统的运行带来了隐患。 究竟问题出在哪,又该如何解决?本次记录,将演示释放磁盘空间:解决文件删除但空间未释放的困扰。
释放磁盘空间:解决文件删除但空间未释放的困扰
有 3 个进程 P1、P2、P3 协作解决文件打印问题。P1 将文件记录从磁盘读入内存的缓冲区 1,每执行一次读一个记录 ;P2 将缓冲区 1 中的内容复制到缓冲区 2 中,每执行一次复制一个记录 ;
有 3 个进程 P1、P2、P3 协作解决文件打印问题。P1 将文件记录从磁盘读入内存的缓冲区 1,每执行一次读一个记录 ;P2 将缓冲区 1 中的内容复制到缓冲区 2 中,每执行一次复制一个记录 ;
|
6月前
|
存储 缓存 小程序
详细讲解缓冲区
详细讲解缓冲区
|
6月前
|
弹性计算 运维 Shell
自动清理临时文件
【4月更文挑战第30天】
42 0
|
存储 缓存 数据处理
缓存与缓冲区的区别
在计算机科学中,缓存(Cache)和缓冲区(Buffer)是两个常见的概念。尽管它们的功能有些相似,但它们在实际应用中具有不同的用途和工作原理。本文将介绍缓存和缓冲区之间的区别。
627 0
|
消息中间件 关系型数据库 Shell
记录贴:sentry磁盘占用过大如何清理?
记录贴:sentry磁盘占用过大如何清理?
1212 0
|
C语言
理解缓冲区
理解缓冲区
104 0