1
我想用spirit x3將各種數字解析成一個字符串。我試圖這樣做,但它不起作用。用boost spirit x3解析一個數字到一個字符串
typedef x3::rule<class int_parser_id, std::string> int_parser_type;
const int_parser_type int_parser = "int_parser";
auto const int_parser_def = x3::int32;
我能做些什麼來解析一個INT與x3 :: int32分析器到一個字符串?
只是說「它不起作用」並沒有告訴我們任何可以幫助你的東西。請描述***如何「它不起作用」。你有構建錯誤嗎?在運行時崩潰?錯誤的結果?越詳細越好。如果出現構建錯誤,您應該將錯誤(全部和完整)*作爲文本*未經編輯複製粘貼到問題的正文中。如果您收到意想不到的結果,請告訴我們您的輸入以及實際的*和預期的*輸出。如果發生崩潰,則在調試器中運行以查找崩潰。另請[請閱讀如何提出好問題](http://stackoverflow.com/help/how-to-ask)。 –
@JoachimPileborg:在這種情況下,它不起作用,就像我的車不會游泳一樣 - 圖書館不是這樣的。但是,如果OP知道,他們不會首先問這個問題......; - ] – ildjarn
這個解析器應該將一系列數字解析爲一個字符串: std :: string input =「1234」; std :: string out; x3 :: phrase_parse(input.begin(),input.end(),+ x3 :: digit,x3 :: space,out); assert(輸出==輸入); (意思是一個或多個數字,'digit'分析器的屬性是'char',所以當你在前面加一個加號時,你會得到一個char或string的向量)。 – matiu