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公司]