减慢程序输出c编程

时间:2014-04-01 10:24:37

标签: c

有没有一种减慢程序输出的好方法? usleep和nanosleep不要放慢速度,延迟不起作用,睡眠会使我的程序冻结。我正在使用Linux,因为我认为这会对我必须使用的内容产生影响。

这些是我尝试的价值观。我想至少延迟5秒钟。

//usleep(1000000);
sleep(5);
//delay(3000);
//nanosleep(999999999);
//usleep(102400);

1 个答案:

答案 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);