2
我需要使用boost::spirit
将日期时间字符串如2012-12-21 12:10:35
解析为time_t
值。这里是我的代码片段:用精神解析日期时间字符串到time_t值
tc_ = lexeme[int_[phx::ref(tm_.tm_year)=(_1-1900)]>>'-'
>>int_[phx::ref(tm_.tm_mon)=(_1-1)]>>'-'
>>int_[phx::ref(tm_.tm_mday)=_1]>>+space
>>int_[phx::ref(tm_.tm_hour)=_1]>>':'
>>int_[phx::ref(tm_.tm_min)=_1]>>':'
>>int_[phx::ref(tm_.tm_sec)=_1]] [_val = (long)mktime(&tm_)];
其中tc_
是qi
规则类型:qi::rule<Iterator, long(), Skipper>
,tm_
是struct tm
类型的成员变量。
该代码编译,但不起作用。似乎mktime()
根本没有被调用。我究竟做错了什么?
感谢Andy的编辑。我是一个新手.. – napie
我可以添加附件吗?我想上传一个cpp文件来使问题更清楚。 – napie