我需要将日期时间字符串解析2012-12-21 12:10:35为time_t使用boost::spirit. 这是我的代码片段:
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()根本没有被调用。我究竟做错了什么?