程序在C和C中导致1秒延迟,而不是打印内容
范例 第1节--程序在C和C中导致1秒延迟,而不是打印内容,c,C,范例 第1节-- 第2节-- 第3节-- 每次打印应有1秒的延迟。#包括 #include <windows.h> ... Sleep(timeInMilliseconds); //sleeps the current thread ... 睡眠时间(毫秒)//休眠当前线程 hth在您的问题中没有任何其他信息的情况下 您应该在几乎任何C环境中都能找到sleep函数(请注意,它都是小写)。它通常在time.h或unistd.h中,并接受它应该延迟执行的秒数 许多环境也会有nan
第2节--
第3节-- 每次打印应有1秒的延迟。
#包括
#include <windows.h>
...
Sleep(timeInMilliseconds); //sleeps the current thread
...
睡眠时间(毫秒)//休眠当前线程
hth在您的问题中没有任何其他信息的情况下
您应该在几乎任何C环境中都能找到sleep
函数(请注意,它都是小写)。它通常在time.h
或unistd.h
中,并接受它应该延迟执行的秒数
许多环境也会有nanosleep
,这是一种接受纳秒数而不是秒数的等价物。在许多系统上也是在time.h
中
归根结底,您的C环境很可能会提供这样的功能,无论它是
睡眠
、\u睡眠
、睡眠
,还是其他类似的功能,无论它接受秒、纳秒还是毫秒。您必须参考您环境的文档才能找到具体的版本。不幸的是,没有可移植版本的sleep()
,因此您可以使用time.h
中的标准函数编写delay()
函数,如下所示:
void delay(int seconds)
{
time_t t = time(NULL);
while (difftime(time(NULL), t) < seconds) ;
}
void延迟(整数秒)
{
时间t=时间(空);
while(difftime(time(NULL),t)<秒);
}
请注意,这并不理想,因为它会让cpu在延迟期间保持忙碌。到目前为止,您有什么,它是如何工作的?这将是一个家庭作业。我想不出任何功能,也想不到提问者在哪里说“Windows”?@t.J.Crowder:没有。我的答案是Windows的一个解决方案这不是睡眠——它是在超过一定时间后再固定CPU。@Kent:公平地说,OP没有说他想让进程睡眠。耽搁一下。忙碌的等待会延迟事情的进展当然,这不是一个好的解决方案,但是…@Kent和@T.J.我同意你们两个的观点。我已经修改了函数名,以明确它是一个延迟,根据操作。这看起来只是一个家庭作业,所以它以可移植的方式回答了这个问题,我同意它并不理想。@LittledV它可能不是家庭作业,如何实现延迟是一个合理的问题。其他答案都是很好的解决方案,但如果不了解平台,它们可能无法回答问题。因此,我已经演示了如何以可移植的方式执行此操作。除非您在windows上,否则它的大写字母是
Sleep(ms)
@RedX:Yes,Sleep
在windows上(需要毫秒而不是秒),或者在其他一些系统上是\u Sleep
。同样,OP没有提供任何有用的上下文,所有的一件事通常都指向正确的方向…:-)