gpt4 book ai didi

time(NULL) 可以返回失败吗?

转载 作者:太空狗 更新时间:2023-10-29 16:26:43 33 4
gpt4 key购买 nike

如果传递的参数始终为 NULL,time_t time(time_t *t) 函数是否会返回失败?

如果调用是time(NULL),我们还需要检查返回值吗?

唯一记录的错误代码是 EFAULT,它与指针无效有关。

最佳答案

是的。 time 记录了一个可能会失败的案例:

The time() function may fail if:

[EOVERFLOW] The number of seconds since the Epoch will not fit in an object of type time_t.

来源:http://pubs.opengroup.org/onlinepubs/9699919799/functions/time.html

预计这会在大约 22 年内在实践中发生,不会很快发生,而且不会发生在 64 位系统或使用 64 位 time_t 的 32 位系统上。

此外,任何应该失败可能会失败情况的存在也允许实现定义的错误,尽管它们的存在将是一个严重的实现质量缺陷.

EFAULT 是一个非问题/不存在的问题,因为它仅在您的程序具有未定义的行为时发生。

因此尽管如此,在现实世界中,time 实际上不会失效。

关于time(NULL) 可以返回失败吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34303531/

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