1
スピリットx3のさまざまな数値を文字列に解析したいと思います。私はこれのようにしようとしましたが、それは動作しません。ブーストスピリットで文字列に数値を解析する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;
x3 :: int32パーサーでIntを文字列に解析するにはどうすればよいですか?
「うまくいきません」と言っても、あなたに役立つものは何も教えてくれません。 ***どのように***それは動作しません***を記述してください。ビルドエラーが出ますか?実行時にクラッシュしますか?間違った結果?より詳細な詳細。ビルドエラーが発生した場合は、そのエラーを(完全かつ完全な)*テキストとしてコピーして、*問題の本文にコピーしてください。予期しない結果が得られたら、あなたの入力と実際の*と期待される*出力を教えてください。クラッシュが発生した場合は、デバッガを実行してクラッシュを特定します。また、[良い質問をする方法について読む](http://stackoverflow.com/help/how-to-ask)をご覧ください。 –
@JoachimPileborg:この場合、私の車は泳ぐのと同じようには機能しません。ライブラリはそのためのものではありません。しかし、もしオペレータがそれを知っていたら、最初にこの疑問を聞いていないでしょう...; - ] – ildjarn
このパーサーは一連の数字を文字列に解析して、 std :: string input = "1234"; std :: string out; x3 :: phrase_parse(input.begin()、input.end()、+ x3 :: digit、x3 :: space、out); アサート(out == input); (1桁以上を意味します。 '数字'パーサーの属性は 'char'なので、プラスを前に置くと、charまたはstringのベクトルが得られます)。 – matiu