如何在控制台中制作进度条
How to make a progress bar in console?
本文关键字:控制台 更新时间:2023-10-16
我做了这样的事情:
#include <thread>
int main(int argc, char *argv[])
{
//...
std::thread sad_thread(MakeMeFeelSad(), params);
sad_thread.join();
//...
std::thread happy_thread(MakeMeFeelHappy(), params);
happy_thread.join();
//...
}
函数MakeMeFeelSad
和MakeMeFeelHappy
各运行约2分钟,我需要在cmd中制作如下内容:我很难过/很高兴(当函数运行时)-点总是出现,直到5,然后它们消失,然后再次出现。这就像一个有点的进度条。我该怎么做?
ETA:我的意思是我需要另一个带回调的线程吗?
您可以使用以下内容
std::future<void> fut = std::async(std::launch::async, MakeMeFeelSad, params);
std::cout << "I'm getting Sad";
std::chrono::milliseconds span (100);
while (fut.wait_for(span) == std::future_status::timeout)
std::cout << '.';
您确实可以创建另一个thread
,但也可以使用condition_variable
对象,并在wait_until
方法上循环。您将能够在此循环中显示您的点。
请参阅thread.join()的超时
相关文章:
- C++:将控制台输出存储在宏中更好吗
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- C++控制台应用程序阻止退出
- 如何修复此iFile以将.txt输出到控制台
- 为什么控制台要求输入,即使代码中没有输入
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 控制台输出在 Qt5 中未正确显示
- C++出现控制台错误.我无法识别源代码的问题
- C++程序不会从 Windows 控制台运行
- 有人可以向我解释为什么控制台输出 0 吗?
- Visual Studio 2017 停止工作,并在打开后显示许多控制台窗口
- 如何从 Win32 C++ 应用程序输出到父控制台窗口?
- Win32 API 控制台光标在 WriteConsole 后不移动
- 如何获取控制台窗口的宽度?
- 如何在 Win32 C++控制台应用程序中调用 UWP 类库
- 如何从Windows控制台调用.exe(C++)以在不同的目录(或任何目录)中创建文件夹?
- 来自Visual Studio中控制台项目的exe文件?
- 为什么即使使用 for 循环遍历我的向量,它也没有输出到控制台?(C++)
- 使用 std::string_view 的子字符串控制台输出