使用boost spirit x3将数字解析为字符串
Parsing a number into a string with boost spirit x3
我想用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;
我该怎么做才能用x3::int32解析器将Int解析为字符串?
解析是扫描字符串以生成具体类型或类型集的对象;你所要求的恰恰相反,圣灵称之为"世代"。Spirit.X3只执行解析,所以直接问题的答案是:你不能。
然而,精神确实有一个单独的世代组成部分:精神。因果报应。
namespace karma = boost::spirit::karma;
int const i = /*...*/;
std::string str;
karma::generate(std::back_inserter(str), karma::int_, i);
在线演示
必须注意的是,Karma是一个C++03代码库,因此它的编译时间比X3长得多——强烈建议使用预编译头
相关文章:
- 如何检查一个c++字符串中有多少相同的字符/数字
- 在 c++ 中查找字符串中没有循环的数字总和
- 将数字转换为填充字符串
- 递归形成字符串中所有数字字符的中间和?
- std::regex:匹配由数字和空格组成的字符串,并提取数字.如何?
- C++ python 中的函数返回数字而不是字符串
- C++:从文件中读取字符串和整数,并获得最大数字
- 以C++格式将字符串转换为数字
- C++关于数字的字符串数组
- 使用非托管导出将字符串从 C# 返回到C++将返回数字
- 我想使用 std::stoi 函数在 cpp 中将字符串转换为整数,因为我想在字符串中找到不同数字的总和(在下级酶中)
- 将大数字(10-12 位数字)存储在无序映射中<字符串,整数>
- 用C++将浮点数字转换为本地化字符串
- 如何在c++中将字符串中的所有数字保存到多维数组中
- 列出所有 N 位数字,并带有 [字符串] 数字
- 如何将字符串数字转换为各个数字的整数数组
- 如何将字符串/数字排序添加到 QSortFilterProxyModel 派生类
- 将std::字符串数字转换为十六进制数字
- 在c++ /Qt中拆分Lua函数调用的混合字符串/数字参数列表
- 获取字符串数字的精度