有没有一种减慢程序输出的好方法? usleep和nanosleep不要放慢速度,延迟不起作用,睡眠会使我的程序冻结。我正在使用Linux,因为我认为这会对我必须使用的内容产生影响。
这些是我尝试的价值观。我想至少延迟5秒钟。
//usleep(1000000);
sleep(5);
//delay(3000);
//nanosleep(999999999);
//usleep(102400);
答案 0 :(得分:1)
我所知道的核心功能不允许系统调用睡眠。您可以使用for循环,例如
void sleep()
{
int i = 0;
while (i < 1e6) { i++; }
}
它的效率相当低,但为了减慢输出速度,它就足够了。此外,我还没有测试过这段代码,所以可能需要一些tweeking。这也取决于你的PC有多快,但至少它的便携性。
如果你可以转移到C ++,那么从Sleep for milliseconds开始,你可以使用usleep接受一个以微秒为单位的参数:
#include <unistd.h>
unsigned int seconds;
...
usleep(seconds*1000*1000);