嘿!来尝试写出一个属于自己的进度条吧

本文介绍了实现进度条所需的基础知识,包括回车换行的概念和缓冲区的作用。通过示例解释了C语言中sleep函数的工作原理,并展示了如何使用fflush强制刷新缓冲区。随后逐步讲解了如何实现倒计时读秒以及进度条的初步、实际和回调实现,提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、必备知识

1.1 回车换行

1.2 缓冲区

二、进度条的实现

 2.1 进度条基础——倒计时读秒的实现

2.2  进度条的初步实现

2.3 进度条的实际实现

 2.4 进度条的回调实现


一、必备知识

        在写进度条之前,我们需要先了解一下回车换行和缓冲区这两个概念。

1.1 回车换行

        首先要明确,回车是回车,换行是换行,二者其实是不同的动作,这就不难解释我们经常见到的回车键的样式了。换行是指光标垂直下移到下一行回车是指将光标退回到行的开头

        在C语言中换行我们用 \n,回车我们用 \r

1.2 缓冲区

 先来看下sleep函数的作用:

运行后的结果是输出Hello world!在两秒过后才会显示出下一行代码。

因此sleep函数的作用是让程序休眠一段指定好的时间

倘若我们把输出中的换行符去掉

 可以看到输出的语句是在输入框的左侧的,并且直观上看是在休眠两秒后才输出的内容。

        可是我们知道程序是自上而下执行的,打印语句肯定最先执行,那么为什么会是休眠两秒后才打印出了内容呢?

        实际上打印语句是最先执行的,只不过在sleep期间,它没有显示出来而是被保存起来了。

保存的内存空间便是缓冲区。在程序退出时,缓冲区的内容才被刷新了出来。

那么如果要强制刷新呢?

         可以利用fflush语句,打印的语句是被存放在输出流这个文件中的,我们使用该语句即可强制刷新。

二、进度条的实现

首先创建三个文件:processBar.h/.c是实现进度条的头/源文件,main.c是最终呈现进度条的文件:

然后编写好代码结构:

 2.1 进度条基础——倒计时读秒的实现

有了以上基础,我们首先来实现一个倒计时读秒的小程序。 

2.2  进度条的初步实现

到了这里,我们就可以正式开始实现进度条了,直接来看代码:

 我们也可以再次整理下代码,使代码更清晰并可以在main中由自己放入参数调用:

2.3 进度条的实际实现

 

 2.4 进度条的回调实现

好了,至此我们进度条的实现就完成啦!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值