我正在将一些Unix代码移植到Windows Visual Studio 2010中。我遇到了下面这行
gmtime_r(&now, &tm_time);
我发现gmtime_r()是一个标准的Unix函数,但是我希望find与Windows相同的东西。 我在time.h中发现了很多gmtime函数,但是如果它存在的话,我很难find哪一个函数是等价的。 有人能指出我正确的方向吗?
gmtime_r()是gmtime()的线程安全版本。 gmtime()的MSVC实现已经是线程安全的,返回的struct tm *被分配在线程本地存储中。
如果函数在同一个线程上被多次调用并且返回的指针被存储,那么这并不能避免麻烦。 您可以使用gmtime_s()代替。 最接近gmtime_r(),但是参数颠倒了;)