我想用previous_saved_time减去current_time,并检查它是否大于wait_time。等待时间应该是一个整数。有人能给我一个简单的例子吗?换句话说:C中的时间减法
if ((current_time - previously_saved_time) > wait_time) {
do something;
}
我想用previous_saved_time减去current_time,并检查它是否大于wait_time。等待时间应该是一个整数。有人能给我一个简单的例子吗?换句话说:C中的时间减法
if ((current_time - previously_saved_time) > wait_time) {
do something;
}
你有什么是正是你需要的,比用一些实际的代码替换do something
等。
例如,该程序将等待三秒时:
#include <time.h>
int main(void) {
time_t base = time (0);
time_t now = base;
while (now - base < 3)
now = time (0);
return 0;
}
它只是循环在while
声明,直至基准时间与当前时间之间的区别是三个或更多(几乎肯定要更好的方法等待N
秒,这只是为了说明计算)。
谢谢。正是我在找什么。 – 2012-03-06 04:45:33
请注意,C标准认为您应该使用'difftime()'来计算两个'time_t'值之间的差异,例如'time()'返回的值。 POSIX采用更简单的生活观(至少w.r.t'time_t';我们不讨论所有的亚秒时间机制)和直接减法工作。 – 2012-03-06 04:55:55
我使用了这些计算,因为它不清楚_were_'time_t'类型的值。如果它们是'difftime',那么可能是一种方法,因为'time_t'的编码实际上并未被标准强制执行。 – paxdiablo 2012-03-06 05:02:35
检出time.h,您将找到获取当前系统时间所需的函数。
交一些示例数据 – Teja 2012-03-06 04:40:38
[男人时间](http://linux.die.net/man/2/time)与[人difftime](HTTP:// Linux的.die.net/man/3/difftime)可能是一个合理的起点。 – 2012-03-06 04:41:57