get_time未按预期运行

时间:2018-06-13 13:12:18

标签: c++ c++11

我正在使用 put_time get_time 功能,我遇到了一些问题。

我拿了这段代码:

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

int main()
{
    std::tm t = {};
    std::istringstream ss("2011-Februar-18 23:12:34");
    ss.imbue(std::locale("de_DE.utf-8"));
    ss >> std::get_time(&t, "%Y-%b-%d %H:%M:%S");

    if (ss.fail()) {
        std::cout << "Parse failed\n";
    } else {
        std::cout << std::put_time(&t, "%c") << '\n';
    }
}

来自here。但是,当使用gcc版本8.8.1和clang版本6.0.0进行编译时,即使cppreference上的exacmple应该与clang一起使用,我也会得到解析失败。

谁能告诉我出了什么问题呢?

1 个答案:

答案 0 :(得分:3)

OP中给出的链接

显然是

  

实施例

     

注意:选择clang来观察输出。 libstdc ++没有   正确实现%b说明符:bug 78714