localtime_*
我正在开发一个 Win32 多线程C++ 项目,我想使用localtime()
.
不幸的是,我必须使用 MinGW 编译器,并且localtime_s
不能在 Microsoft 之外使用。
问题是两者localtime_r
都不起作用:相关的代码片段是
#include <ctime>
...
string getCurrentTime()
{
time_t t;
time(&t);
struct tm timeinfo;
//localtime_s(&timeinfo, &t);
localtime_r(&t, &timeinfo);
char buf[128];
strftime(buf, 128, "%d-%m-%Y %X", &timeinfo);
return string(buf);
}
...
这是编译器输出:
error: 'localtime_r' was not declared in this scope
MinGW 支持localtime_r
吗?
如果没有,是否存在线程安全的替代方案?(不包括我不能使用的 boost/QT/etc)。
编辑:这是<time.h>
我的 MinGW 安装提供的:http: //pastebin.com/0CYBfMzg