Open Group基本规范2018年第7期
IEEE Std 1003.1-2017(IEEE Std1003.1-2008修订版)
版权所有©2001-2018 IEEE和The Open Group

名称

asctime,asctime\r-将日期和时间转换为字符串

简介

[产科医生] [选项开始]#包括<时间。小时>

char*asctime(const结构tm*
计时器);
[选项结束]
[OB CX公司] [选项开始]char*asctime_(const struct tm*restrict tm(tm),char*限制 缓冲器);[选项结束]

描述

对于asctime时间():[CX公司] [选项开始]本参考页上描述的功能符合ISO C标准。任何此处描述的要求与ISO C标准之间的冲突是无意的。本卷POSIX.1-2017延期符合ISO C标准。[选项结束]

这个asctime时间()函数应转换由计时器在中转换为字符串表格:

1973年9月16日星期日01:03:52

使用等效的以下算法:

char*asctime(const struct tm*timeptr){静态字符wday_name[7][3]={“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”};静态字符mon_name[12][3]={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”,“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”};静态字符结果[26];
sprintf(结果,“%.3s%.3s%3d%.2d:%.2d:%2d%d\n”,wday_name[timeptr->tm_wday],mon_name[timeptr->tm_mon],timeptr->tm_mday,timeptr->tm_hour,timeptr->tm_min、timeptr->tm_sec、,1900+timeptr->tm_year);返回结果;}

然而,如果计时器->星期三(_W)计时器->tm_月不在中定义的正常范围<时间.h>,或者如果计时器->tm_年超过{INT_MAX}-1990年,或者上述算法将尝试生成超过26个字节的输出(包括终止null)。

这个tm(tm)结构定义在<时间.h>收割台。

[CX公司] [选项开始]这个asctime时间(),ctime公司(),通用时间()、和当地时间()函数应返回两个静态对象之一的值:a中断时间结构和类型数组烧焦.执行任何功能都可能覆盖信息其他任何函数在这些对象中返回。

这个asctime时间()函数不必是线程安全的。

这个上升时间_ r()函数应转换由tm(tm)变成(的)字符串与返回的表单相同asctime时间(),并且在输入或输出超出范围时具有相同的未定义行为)放置在由指向的用户提供的缓冲区中缓冲器(至少包含26个字节),然后返回缓冲器.[选项结束]

返回值

成功完成后,asctime时间()应返回指向字符串的指针。[CX公司] [选项开始]如果函数不成功,应返回NULL。

成功完成后,asctime_()应返回一个指向包含日期和时间的字符串的指针。这个参数指向字符串缓冲器。如果函数不成功,则返回NULL。[选项结束]

错误

未定义错误。


以下各节提供了信息。

示例

没有。

应用程序用法

这些函数仅用于与旧的实现兼容。如果结果字符串太长,因此不鼓励使用这些函数。在不检测输出字符串的实现上长度溢出,可能会导致输出缓冲区溢出,从而导致应用程序或可能的系统失败违反安全规定。此外,这些函数不支持本地化的日期和时间格式。为了避免这些问题,应用程序应该使用斯特夫蒂姆()从中断时间生成字符串。

中断时间结构的值可以通过调用通用时间()当地时间().

这个asctime_()函数是线程安全的,应返回用户提供的缓冲区中的值,而不可能使用每次调用都可能覆盖的静态数据区域。

基本原理

标准开发人员决定将asctime时间()和asctime_()函数已过时,即使上升时间由于缓冲区溢出的可能性,()符合ISO C标准。ISO C标准还提供了斯特夫蒂姆()可以用来避免这些问题的函数。

未来发展方向

这些功能可能会在未来版本中删除。

另请参阅

时钟,ctime公司,差异时间,通用时间,当地时间,mktime时间,斯特夫蒂姆,斯特普蒂姆,时间,美国

XBD公司<时间.h>

更改历史记录

第1期首次发布。源自SVID第1版。

第5版

应用程序用法部分前面的规范性文本移至描述。

这个asctime_()函数用于与POSIX线程扩展对齐。

表示asctime时间()函数无需可重入添加到描述中。

第6版

这个asctime_()函数标记为“线程安全函数”选项的一部分。

标记了超出ISO C标准的扩展。

更新了APPLICATION USAGE(应用程序用法)部分,以包括关于线程安全功能及其避免使用静态数据区。

描述asctime_()被更新以描述返回的字符串的格式。

这个限制关键字已添加到asctime_()符合ISO/IEC 9899:1999的原型标准

IEEE Std 1003.1-2001/Cor 2-2004,项目XSH/TC2/D6/17适用,在返回值中添加CX扩展要求如果上升时间()函数不成功,返回NULL。

第7版

采用奥斯汀集团解释1003.1-2001#053,标志着这些功能已废弃。

采用奥斯汀集团解释1003.1-2001#156。

这个asctime_()函数从“线程安全函数”选项移动到“基本”。

POSIX.1-2008,技术勘误1,XSH/TC1-2008/0033[86429]适用。

信息文本结束。

 

返回页面顶部

UNIX®是The Open Group的注册商标。
POSIX™是IEEE的商标。
版权所有©2001-2018 IEEE和The Open Group,保留所有权利
[主要指标|XBD公司|XSH公司|XCU公司|XRAT公司]