C++ 写一个简单的进度条

C++ 写一个简单的进度条

代码比较简单就直接上了。注:\e这种写法可能并不被你的编译器所支持(Linux下的GNU和Bash支持,亲测无误),此种方式在 Windows 下无效。

#include 
#include 
#include 

using namespace std;
void progress_bar(int progress)
{
    size_t len = 50, i =0;
    cout << "\e[K";                           //删除行内容
    cout << "[";
    while(len--)
    {
        if(i <= progress/2)
        {
            if(i == progress/2)
            {
                cout << ">";
            }else{
                cout << "=";
            }
        }else{
            cout << " ";
        }
        i++;
    }
    cout << "]" << progress << "%" << endl;
    cout << "\e[1A";                              //将光标移到上一行行首,因为输出之后换行了,所以移到上一行。
}

int main()
{  
    for(int i = 0; i <= 100; ++i)
    {
        progress_bar(i);
        this_thread::sleep_for(std::chrono:: milliseconds (50));
    }
}

效果图
水印挡住了一部分内容

你可能感兴趣的:(c++,开发语言)