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