当前位置:  开发笔记 > 前端 > 正文

时间(NULL)是否会返回失败?

如何解决《时间(NULL)是否会返回失败?》经验,为你挑选了2个好方法。

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

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

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



1> R....:

是.time有记录可能失败的情况:

如果:time()函数可能会失败:

[EOVERFLOW]自Epoch以来的秒数不适合time_t类型的对象.

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

预计这将在大约22年内实现,不会在64位系统或使用64位的32位系统上实现time_t.

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

EFAULT 是不存在/不存在的,因为只有在程序具有未定义的行为时才会发生.

所以尽管如此,在现实世界中,time实际上并没有失败.


@Peter:问题标记为posix.
"不久"......如果你认为机器的时钟是正确的;)

2> haccks..:

时间(NULL)是否会返回失败?

C号标准说

C11:7.27.2.4:

time函数返回实现对当前日历时间的最佳近似值.(time_t)(-1)如果日历时间不可用,则返回该值.


我猜`(time_t)( - 1)`在某种意义上是一个"最佳近似",如果无法检索时间信息......尽管如果不将其视为错误条件,这种近似在实践中是多么有用.
推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有