嗨,我有一个小问题,因为函数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。
答案 0 :(得分:1)
根据ISO C,如果time()
无法确定时间,则-1
返回ISO C11 7.27.2.4 The time function /3
是完全有效的。来自time
(虽然这种行为已存在很长时间了):
(time_t)(-1)
函数返回实现对当前日历时间的最佳近似值。如果日历时间不可用,则会返回haversine
值。
鉴于您正在使用Simplicity Studio(经常用于嵌入式系统的软件包),您的目标环境可能无法建立日历时间(例如,如果它没有实时时钟查询)。