Linux第一个小程序-进度条(c语言版)

这篇具有很好参考价值的文章主要介绍了Linux第一个小程序-进度条(c语言版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

行缓冲区概念:

行缓冲区代码演示:

​编辑进度条代码

1:memset函数:

2:const char* lable="|/-\\"; 

3:usleep C语言 usleep 函数的功能和用法:

4:进度条代码的实现.c文件与.h文件:

​编辑​编辑5:运行截图

​编辑进度条代码的实用性优化

优化1:processbar函数内部循环改为使用者自己设计的download外部循环:

优化2:使用函数回调展示进度


行缓冲区概念:

在学习进度条小程序之前,我们要先了解行缓冲区概念:

首先:在Linux中,行缓冲是一种缓冲方式,它指定了输出流何时刷新到文件或终端。根据行缓冲的概念,当输出到流的数据遇到换行符('\n')时, 缓冲区会被自动刷新,并将数据发送到文件或终端。总结 : 当遇到换行符('\n')时,缓冲区的输出会立即显示出来。

其次:在另一方面,如果没有遇到换行符,那么数据将保留在缓冲区中,直到达到以下条件之一:

  1. 缓冲区已满,需要清空缓冲区来容纳更多数据。
  2. fflush()函数被调用,强制刷新缓冲区。---- > fflush(stdout); 包含头文件 #include<unistd.h>

fflush(stdout)是一个函数调用,它强制刷新stdout(标准输出)流的缓冲区。通过调用这个函数,你可以确保在遇到换行符之前,所有的输出都立即显示。

行缓冲区代码演示:

例如,在下面的代码中,printf()函数在遇到换行符时会自动刷新缓冲区:

Linux第一个小程序-进度条(c语言版),linux,服务器,运维如果你希望立即显示"Hello ",可以使用fflush()函数来强制刷新缓冲区:

进度条代码

1:memset函数:

在C语言中,memset函数用于将内存区域设置为指定值。它的功能和用法如下:

void *memset(void *ptr, int value, size_t num);

  • ptr:指向要设置的内存区域的指针。
  • value:要设置的指定值。
  • num:要设置的字节数。

memset函数将指定的内存区域中的所有字节设置为指定的值。它接受三个参数:指向要设置的内存区域的指针、要设置的指定值和要设置的字节数。

2:const char* lable="|/-\\"; 

这是模拟正在加载转圈圈,其中"\\"运用了转义字符

3:usleep C语言 usleep 函数的功能和用法:

在C语言中,usleep 函数用于让程序暂停执行一定的微秒数(以百万分之一秒为单位,微秒)。这对于需要在程序中引入延迟以控制执行顺序或模拟实时性的情况非常有用。

4:进度条代码的实现.c文件与.h文件:

Linux第一个小程序-进度条(c语言版),linux,服务器,运维Linux第一个小程序-进度条(c语言版),linux,服务器,运维5:运行截图

进度条代码的实用性优化

左边是processBar.c 右边时main函数

优化1:processbar函数内部循环改为使用者自己设计的download外部循环:

优化2:使用函数回调展示进度

Linux第一个小程序-进度条(c语言版),linux,服务器,运维

Linux第一个小程序-进度条(c语言版),linux,服务器,运维Linux第一个小程序-进度条(c语言版),linux,服务器,运维文章来源地址https://www.toymoban.com/news/detail-791534.html

到了这里,关于Linux第一个小程序-进度条(c语言版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java中将本服务器的文件拷贝到另一个服务器(Linux to Linux)

    在Java中,将文件从一个服务器复制到另一个服务器,你可以使用Secure Copy(SCP)进行操作。Java中的 JSch 库可以进行此操作。 首先,需要添加 JSch 库依赖到你的项目中。如果你使用的是Maven,可以添加以下依赖: 以下是一个使用 JSch 进行SCP操作的示例: 这段代码首先创建了一

    2024年02月13日
    浏览(64)
  • 如何将手机变成一个(Linux)服务器

    总所周知,我们的安卓手机操作系统本身就是基于linux进行开发的,我们只要获取到root权限,理论上就可以将我们的手机当做服务器来使用。道路千千万,有的是方法去实现,本篇文章博主将带大家感受一下我去年接手的一个项目用的一系列操作以及相关的app,硬生生把手机

    2023年04月20日
    浏览(47)
  • 在Linux服务器上简单部署一个Python项目

    一、在对应的服务器上检查有无Python环境 二、在服务器上创建对应项目的文件 三、收集项目的依赖包 四、将项目拷贝到服务器 五、创建Python运行的虚拟环境,并启动 六、安装对应项目的依赖包 七、运行主程序文件 以上就是在Linux上简单部署一个python项目的方法。

    2024年02月12日
    浏览(45)
  • Java中将本服务器的文件拷贝到另一个服务器(Windows to Linux)

    在Java中,将文件从Windows服务器复制到Linux服务器,常用的方式是使用SSH进行安全的文件传输。Java有一个名为 JSch 的库,可以用于SSH连接和操作。 首先,你需要将 JSch 添加到你的项目依赖中。如果你使用的是Maven,你可以添加以下依赖: 然后,你可以使用以下代码将文件从

    2024年02月11日
    浏览(49)
  • Linux+服务器后台运行程序

    在Linux服务器直接运行程序,程序运行的时间较长,程序经常会因为网络连接问题异常终止,一直盯着程序运行又费时费力,这时后台运行程序是更好的解决方式。But,如果服务器重启了,那所有进程都断掉了,只能重新跑代码。 screen 假如遇到一些比较费时间的程序,但是又

    2024年02月22日
    浏览(46)
  • xshell连接提示Linux服务器发送了一个意外的数据包

    服务器发送了一个意外的数据包received: 3, expected: 20 打开需要连接的Linux主机,编辑vim /etc/ssh/sshd_config 在最后一行添加 KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1 保存退出。重启sshd服务,重新连接,即可 这就可以了

    2024年02月16日
    浏览(49)
  • Linux socket 搭建TCP服务器(C语言)

    ​ 在标题之前,先提几个问题,方便下次查看理解。 什么是TCP TCP服务器需要用到哪些函数 如何简单的搭建一个TCP服务器 ​ TCP 是一种传输层协议,可以提供可靠的数据传输服务。它是面向连接的,具有可靠性、流量控制、拥塞控制以及双工通信的特点。 1. socket ​ socket 作

    2024年04月17日
    浏览(40)
  • 【Linux】Linux第一个小程序-进度条

    前言: 在之前的学习中,我们已经基本掌握了关于了 Linux 下的一些工具的使用,接下来我们运用之前学到的知识,我将带领大家写了一个关于 进度条 的小程序来练练手!!! 本文目录 (一)理解 r n 1、可显字符 和 控制字符 2、代码演示 (二)缓冲区的理解 1、什么是缓

    2024年02月01日
    浏览(35)
  • 【Linux】第一个Linux小程序——进度条

            今天为大家带来一篇关于在Linux上编写的进度条小程序的博客。         我们在日常生活中使用电子产品时,经常会遇到加载的过程,这时候这些加载界面总是会附带有一些进度条,这些进度条是加载进度的可视化图形,这篇文章我们就在Linux系统下编写一个进度条

    2024年02月13日
    浏览(33)
  • 阿里云服务器白嫖一个月并安装linux及宝塔,redis教程

      阿里云官网:https://www.aliyun.com/  进入阿里云官网,打开搜索输入云服务器ECS    点击云服务器ECS    点击免费试用一个月   按照下图指示选择(其中预装应用Lamp可选可不选,后期可以在宝塔面板自定义安装)    创建之后在控制台的我的实例查看   之后重置实例密码(

    2024年01月17日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包