如何在C++中延迟输出
How to delay output in C++?
我正在做一个需要从文件中读取数据的项目。
但是在打开文件之前,我想显示Loading . . . . .
我希望"加载"之后的点一个接一个地打印,每个点大约 2-3 秒后打印,然后我显示文件的内容。也就是说,在前 3 秒后显示Loading .
显示,再过 3 秒后Loading . .
显示,依此类推。我找不到办法,请帮忙。
这取决于平台。
在 Windows 上,您可以使用 Sleep() 函数:
Sleep(3000);
参数是以毫秒为单位的时间量。您需要包含 windows.h 才能使用此功能。
在 POSIX 兼容上,您可以使用 sleep():
sleep(3); // parameter is in seconds
如果你需要更好的精度,你可以使用 usleep():
usleep(3000000); // parameter is in microseconds
对于这两个函数,您需要包含 unistd.h
在 c++11 中,您可以创建一个在睡眠 3 秒上循环的线程,并在读取文件之前打印点。必须使用由互斥锁保护的条件或变量退出线程。
2 个
基本解决方案:
1 使用 usleep() 的 sleep() 来阻止它。2. 使用 while 循环让 CPU 忙于循环。
在生产中,我们通常做第一个解决方案。但要始终对此保持谨慎。确保这是您想要做的。
另一种方式是,使用事件循环方法并为此事件设置计时器。它可以在计时器超时后运行
在 C++11 中,您可以使用:
#include <chrono>
#include <thread>
...
using namespace std::chrono_literals;
...
std::this_thread::sleep_for(2s);
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 如何仅为一个函数添加延迟
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- AES加密到解密未正确输出
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 如何将 Openh264 解码帧无延迟输出格式转换为 OpenCV 矩阵
- 为什么MP3解码的输出听起来如此延迟?(使用FFMPEG mp3lame lib)
- 如何在C++中延迟输出
- linux上c++中的延迟输出
- 具有时间延迟的简单输入输出
- 延迟输出 0