网上有大量代码让我相信以下内容会给我当前的时间。但事实并非如此。我得到了我认为是UNIX时代的东西; 1970年1月1日00:00; 00。
现在变得非常烦人,为什么我不能通过我的计算机系统时钟来控制当前时间?我正在为嵌入式系统做这个,在C中.IDE是mplab。
#include <stdio.h>
#include <time.h>
int main () {
time_t time_raw_format;
struct tm * ptr_time;
time ( &time_raw_format );
ptr_time = localtime ( &time_raw_format );
printf ("Current local time and date: %s", asctime(ptr_time));
return 0;
}
答案 0 :(得分:1)
C标准不需要时间可用,time
例程可能返回-1(并将其放在指向的位置)。您的代码不会检查返回值,因此在执行任何有用的操作之后没有理由相信任何代码。因此,首先要检查time
的返回值。
同样,如果无法转换为本地时间,localtime
可能会返回空指针,并且您的代码不会检查localtime
的返回值。