【Linux】实现一个进度条

我们之前也学了gcc/vim/make和makefile,那么我们就用它们实现一个进度条。

在实现这个进度条之前,我们要先简单了解一下缓冲区和回车和换行的区别

缓冲区其实就是一块内存空间,我们先看这样一段代码

它的现象是先立马打印,三秒后程序结束

我们在看这个,只是去掉了\n,它的现象是前三秒空白,最后一秒打印出了字符串并且程序结束

我们感觉第二段代码是先执行的sleep,后执行printf,但是怎么可能呢?我们C语言都是从上往下执行的,所以其实第二段代码一开始字符串是先放倒了缓冲区里边,然后程序结束缓冲区刷新出来了;而第一段代码是\n会刷新缓冲区

我们平常用的 \n 其实是换行+回车,也就是说从上一行到下一行的对应位置叫换行,从中间位置到一行的最开始位置叫回车。我们的 \r 就可以实现仅回车的功能,并且它是不会刷新缓冲区的,我们也有一个函数fflush强制刷新缓冲区

它的参数是一个文件流,我们有这几种文件流

我们这里用stdout让它刷新出来

这样我们就简单的实现了一个倒计时

那么我们下边就写一个超级简单的进度条,后边再去慢慢的优化

下面我们把进度条分成多个文件来综合使用一下makefile,所以再这个文件夹下,我们就有这几个文件

我们需要在makefile中写明它们之间的依赖关系和依赖方法,大致就像这样

我们写完makefile之后可以先写一个简单的程序试一下,确保我们的makefile不会出现问题后我们再写进度条,可以像这样

我们可以在底行模式下用vs+文件名将三个文件同时展开,如果要实现三个文件之间的切换可以在命令模式用ctrl+w再加方向键实现切换

有了这样的一些基础我们就可以只在processbar.c中写进度条了,大概是这样的

进度条大概长这样

分别是进度条,比例和旋转的图案

但是在实际情况中,进度条肯定不是单独的,它是跟比如下载进度等相关联的,所以我们这里就先模拟一种场景,来实现进度条

这里用到了函数指针的typedef,通过函数指针去调用函数,就是我们说的回调函数

相关推荐

  1. Python实现进度

    2024-04-28 11:12:01       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 11:12:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 11:12:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 11:12:01       82 阅读
  4. Python语言-面向对象

    2024-04-28 11:12:01       91 阅读

热门阅读

  1. 智慧校园-自动化办公管理系统要素

    2024-04-28 11:12:01       36 阅读
  2. C# 读去Word文档(NPOI)

    2024-04-28 11:12:01       32 阅读
  3. python——openpyxl库

    2024-04-28 11:12:01       33 阅读
  4. SpringCloud面试题——Sentinel

    2024-04-28 11:12:01       32 阅读
  5. casa学习代码记录

    2024-04-28 11:12:01       84 阅读
  6. Linux安装python3环境

    2024-04-28 11:12:01       100 阅读
  7. 备忘录模式

    2024-04-28 11:12:01       33 阅读
  8. 备忘录模式:捕获和恢复对象的内部状态

    2024-04-28 11:12:01       35 阅读
  9. 选择技术栈的关键因素与实践指南

    2024-04-28 11:12:01       32 阅读
  10. 自然语言处理的发展及归纳介绍

    2024-04-28 11:12:01       34 阅读
  11. 【ARMv9 DSU-120 系列 1 -- DSU-120 DynamIQ 概述】

    2024-04-28 11:12:01       34 阅读
  12. Python重点数据结构基本用法

    2024-04-28 11:12:01       28 阅读
  13. C++下跨平台websocket库及使用示例

    2024-04-28 11:12:01       33 阅读