gpt4 book ai didi

c++ - gmtime_r 和 gmtime_s 的区别

转载 作者:IT老高 更新时间:2023-10-28 22:02:08 34 4
gpt4 key购买 nike

这两个函数有什么区别?我正在使用 MinGW 4.8.0。

我知道 gmtime_r 是线程安全的(但如果从同一个线程多次调用则不安全)但我不明白 gmtime_s

最佳答案

区别在于gmtime_r(3)standard SUSv2 function .在 Windows 环境中,您可以找到最接近 gmtime_r() 的是 gmtime_s() ,它的论点颠倒了:

  • gmtime_r(const time_t*, struct tm*)
  • gmtime_s(struct tm*, const time_t*)

基本上,它们都将时间值转换为 tm 结构。 gmtime_r 然后返回一个指向这个结构的指针(如果失败则返回 NULL),而 gmtime_s 如果成功则返回 0,和一个 errno_t 以防失败。

tm 结构具有以下主体,从上面列出的两个文档中可以看出:

struct tm {
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
};

关于c++ - gmtime_r 和 gmtime_s 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19051762/

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