Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ boost Date_Time Date';行不通_C++_Boost - Fatal编程技术网

C++ boost Date_Time Date';行不通

C++ boost Date_Time Date';行不通,c++,boost,C++,Boost,我正在尝试使用boost 1.55 date_time库编写代码来解析日期时间字符串。但它总是生成非日期时间日期 boost::gregorian::date d(2005, 6, 25); boost::gregorian::date d2; boost::gregorian::date_facet* facet(new boost::gregorian::date_facet("%Y %m %d")); stringstream ss; ss.imbue(std::locale(std::c

我正在尝试使用boost 1.55 date_time库编写代码来解析日期时间字符串。但它总是生成非日期时间日期

boost::gregorian::date d(2005, 6, 25);
boost::gregorian::date d2;
boost::gregorian::date_facet* facet(new boost::gregorian::date_facet("%Y %m %d"));
stringstream ss;
ss.imbue(std::locale(std::cout.getloc(), facet));

ss << d; string s = ss.str(); // s = "2005 06 25"
cout << s << endl;
    stringstream ss2(s);
ss2 >> d2; // not-a-date-time
cout << d2 << endl;
格里高利:日期d(2005年6月25日); boost::gregorian::日期d2; boost::gregorian::date\u facet*facet(新的boost::gregorian::date\u facet(“%Y%m%d”); 细流ss; imbue(std::locale(std::cout.getloc(),facet)); ss您想要解析,因此需要输入方面:

查看它

#include <boost/date_time/gregorian/greg_date.hpp>
#include <boost/date_time/gregorian/gregorian_io.hpp>
#include <iostream>

int main()
{
    boost::gregorian::date const d(2005, 6, 25);
    boost::gregorian::date d2;

    std::stringstream oss;
    oss.imbue(std::locale(std::cout.getloc(), new boost::gregorian::date_facet("%Y %m %d")));

    oss << d; 

    oss.imbue(std::locale(std::cout.getloc(), new boost::gregorian::date_input_facet("%Y %m %d")));

    if (oss >> d2)
        std::cout << d2 << std::endl;
    else
        std::cout << "Not parsed\n";
}

在我的机器上

我可以在Mac OSSeem上复制这些内容,如。。。嗯。。。在写入流之后,您正在读取空的结尾?ss不需要被搜索到0或者重置或者其他什么吗?@ebyrob也一样,看看我编辑的答案。然而,事实却不见了too@ebyrob没错。我过度简化了示例代码。我现在已经修好了。
2005-Jun-25