gpt4 book ai didi

ctime 随机返回 NULL

转载 作者:太空宇宙 更新时间:2023-11-04 05:51:35 28 4
gpt4 key购买 nike

我正在使用 ctime。但是它总是返回 NULL。所以它以 sprintf 行为核心。它工作得更早。所以不确定为什么会随机返回 NULL?

我有以下代码片段:

int main()
{
char avp_val[50];

uint32_t date_value=1477069401;

sprintf(avp_val,"%s",ctime((time_t*)(&date_value)));

return;
}

最佳答案

不要将指向 uint32_t 的指针转换为 time_t。使用实际的 time_t,因此在具有 64 位 time_t 的系统上 ctime 不会读取四个字节的垃圾作为纪元时间的一部分:

int main()
{
char avp_val[50];

time_t date_value=1477069401;

sprintf(avp_val,"%s",ctime(&date_value));
// Or, because it's what you're doing anyway, skip sprintf:
// strcpy(avp_val, ctime(&date_value));

return 0;
}

强制转换为 (time_t*) 以使编译器警告静音使警告静音,但它没有解决问题。

关于ctime 随机返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40186372/

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