我正在将一些 Unix 代码移植到 Windows Visual Studio 2010 中。我遇到了以下行
gmtime_r(&now, &tm_time);
我发现 gmtime_r() 是一个标准的 Unix 函数,但我希望找到 Windows 的等效函数。我在 time.h 中发现了很多 gmtime 函数,但我很难找到哪个是等价的,如果它存在的话。有人能指出我正确的方向吗?
最佳答案
gmtime_r() 是 gmtime() 的线程安全版本。 gmtime() 的 MSVC 实现已经是线程安全的,返回的 struct tm* 分配在线程本地存储中。
如果在同一线程上多次调用该函数并存储返回的指针,这并不能使其免于麻烦。您可以改用 gmtime_s() 。最接近 gmtime_r() 但参数相反 ;)
关于c++ - Unix 函数 gmtime_r 的 Windows 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12044519/