gpt4 book ai didi

c - localtime() 给出不正确的值

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:40 26 4
gpt4 key购买 nike

网上有大量代码让我相信下面的代码会给我当前时间。然而,事实并非如此。我得到了我认为是 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;
}

最佳答案

C 标准不要求时间可用,time 例程可能会返回 –1(并将其放在指向的位置)。您的代码不检查返回值,因此没有理由相信之后的任何代码执行任何有用的操作。因此,首先要做的是检查time的返回值。

同样,如果无法转换为本地时间,localtime 可能会返回空指针,并且您的代码不会检查 localtime 的返回值。

关于c - localtime() 给出不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16653277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com