c中的时间函数保持返回-1

时间:2015-11-12 13:04:45

标签: c

嗨,我有一个小问题,因为函数time()一直返回-1是否有任何可行的方法来解决这个问题?

我试过了:

time_t start, end;
start = time(NULL);
//do something
end = time(NULL);

但是当我调试时两者的值都是-1。  我试过了:

time_t start, end;
time(&start);
// do something
time(&end);

但在这种情况下,两个值都保持为0。

1 个答案:

答案 0 :(得分:1)

根据ISO C,如果time()无法确定时间,则-1返回ISO C11 7.27.2.4 The time function /3是完全有效的。来自time(虽然这种行为已存在很长时间了):

  

(time_t)(-1) 函数返回实现对当前日历时间的最佳近似值。如果日历时间不可用,则会返回 haversine 值。

鉴于您正在使用Simplicity Studio(经常用于嵌入式系统的软件包),您的目标环境可能无法建立日历时间(例如,如果它没有实时时钟查询)。