程序在C中造成1秒延迟而不是打印东西

时间:2011-03-19 09:15:45

标签: c

示例 sec 1 ---
第2节---
第3 ---

每次打印都应延迟1秒。

3 个答案:

答案 0 :(得分:3)

在你的问题中没有任何其他信息......

您几乎可以在任何C环境中找到sleep函数(请注意,它都是小写的)。它通常位于time.hunistd.h中,并接受应延迟执行的秒数。

许多环境也会有nanosleep,这是一个接受数秒纳秒而不是秒的等效物。同样在许多系统的time.h中。

底线是您的C环境可能提供这样的功能,无论是sleep_sleepSleep还是其他类似功能,以及它是否接受秒,纳秒或毫秒。您必须参考您的环境文档才能找到具体的文档。

答案 1 :(得分:1)

#include <windows.h>

...

Sleep(timeInMilliseconds); //sleeps the current thread

HTH

答案 2 :(得分:1)

很遗憾没有sleep()的可移植版本,所以您可以使用delay()中的标准函数编写time.h函数,如下所示:

void delay(int seconds)
{
    time_t t = time(NULL);
    while (difftime(time(NULL), t) < seconds) ;
}

请注意,这并不理想,因为它会在延迟期间使cpu保持忙碌状态。