Apple Clang mktime问题?

时间:2018-04-10 19:10:54

标签: c++ clang++ mktime

我在Apple Clang上用std :: mktime取得了奇怪的结果。我提取了一个MCV:

#include <sstream>
#include <iomanip>
#include <iostream>

std::time_t test()
{
    std::stringstream stream;
    stream << "12:30";
    struct tm tm = {};
    stream >> std::get_time(&tm, "%H:%M");
    std::time_t t = std::mktime(&tm);
    return t;
}

int main()
{
    std::cout << static_cast<long int>(test()) << std::endl;
    return 0;
}

这里我正在解析一个包含有效时间的字符串。 std :: get_time()解析时间并将其正确保存到tm对象。

std :: mktime()总是在Apple Clang上返回-1,what indicates an error(但不可能确切地知道哪一个)。 我的铿锵版:

Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

我已经在Wandbox上测试了这段代码,它从5.1.0开始正常使用GCC,从3.2开始使用Clang并打印-2209062600。

对我来说看起来像是一个Apple Clang错误。

0 个答案:

没有答案