C/C++,如何在CLI中为下载进度编写代码?Linux

C/C++, How do you code for the download progress thing in the CLI? Linux

本文关键字:下载 Linux 代码 C++ CLI      更新时间:2023-10-16

我想制作一个与下载进度文本功能类似的程序,箭头穿过。。PIC示例引用了我所说的内容。

有没有具有基本功能的库或设计?谢谢你的帮助!

您要查找的库是ncurses。它可以在这里找到。

这是我为ncurses找到的另一个资源,它可能有助于向您介绍库及其功能。这是一系列Youtube教程——他的演讲很差,但据我所知(只听前两个视频),他的例子教得很好。

您可以使用boost::progress_display

如果您只想要一些数据的进度条,那么您应该查看pv。使用它的一种方法是简单地通过程序管道传输数据。下面是一个简单的例子,它使用popen():调用pv来读取文件

#include <stdio.h>
int main (int argc, char *argv[]) {
    char pv[1024];
    FILE *infile;
    if (argc > 1) {
        char c;
        snprintf(pv, sizeof(pv), "pv %s", argv[1]);
        infile = popen(pv, "r");
        while (fread(&c, 1, 1, infile)) {}
        pclose(infile);
    } else {
        puts("need a file name!");
    }
    return 0;
}