UNIX的时间函数失效了?

bbzy 2000-02-20 02:11:00
我用的函数是
time_t bill_s,bill_e;
double bill_long;

time(&time_s);
....
time(&time_e);
bill_long=difftime(bill_e,bill_s);
大部分时候时间是对的,但极个别情况下bill_long异常,
不知是difftime在什么情况下,失效!
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbzy 2000-02-22
  • 打赏
  • 举报
回复
bill_long异常是指本来只几秒,却达1个小时以上!
netmare 2000-02-22
  • 打赏
  • 举报
回复
试试不用difftime,直接bill_e-bill_s,并且将这两个值打出来看看
netmare 2000-02-21
  • 打赏
  • 举报
回复
不知道'bill_long异常'是什么样的异常,time()的精度是秒,
如果time(&time_s);
....
time(&time_e);
之间的间隔小于一秒,就无法区分了
可以用luckroc的方法试试

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
...
clock_t start, finish;
double duration;
start = clock();
...
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
...

luckroc 2000-02-21
  • 打赏
  • 举报
回复
你如果是想计算程序的执行时间,可以用clock函数:在程序开始的时候执行一次clock函数,结束时执行一次clock函数,两个值一减,也就是程序的执行时间。
bbzy 2000-02-20
  • 打赏
  • 举报
回复
不知你有啥好办法?
killy 2000-02-20
  • 打赏
  • 举报
回复
或许是多任务的影响,可能在两个时间函数之间的处理工作受到系统的调度。

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧