1
#include <iostream>
#include <boost/spirit/include/qi.hpp>
namespace qi = boost::spirit::qi;
int main()
{
std::string input(" aaa ");
std::string::iterator strbegin = input.begin();
std::string p;
qi::phrase_parse(strbegin, input.end(),
qi::lexeme[+qi::char_],
qi::space,
p);
std::cout << p << std::endl;
std::cout << p.size() << std::endl;
}
在此代碼解析器中將"aaa "
指定爲p
。爲什麼不跳過所有空格?我預計p
爲"aaa"
。如何修復?讓Boost.Spirit解析器跳過所有空格
許多更多的選項來控制跳過這裏描述http://stackoverflow.com/a/10469726/85371。另外,'qi :: graph'應該等同於'char_ - space' AFAIR – sehe