使用 boostspirit 将字符串解析为 int 或 float
我需要将 wstring 解析为 int、float 或字符串本身。我发现了一个与我类似的问题这里但我不明白如何使用解析器。我没有找到 test_parser 方法。问题是:实现解析器的自定义规则后,如何使用它们?
I need to parse a wstring to int, float or a string itself. I found a question similar to mine Here but I don't understand how to use the parser. I don't find the test_parser method. The question is: after implementing the custom rules for the parser, how to use them?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将 wstring 解析为 int 很简单:
类似地,解析 float 看起来像:
我不确定“解析字符串”是什么意思。如果您的意思是解析带引号的字符串,您可以将其写为:
表达式
'"' >> *~qi::char_('"') >> '"'
表示:引号 ('"'
) 后跟 (>>
) 零个或多个 (*
) 不是引号的字符 (~qi::char_('"')
) 后跟 (>>
) 另一个引号 ('"'
) 。Parsing a wstring to an int is straight forward:
Similarily, parsing a float looks like:
I'm not sure what you mean by 'parsing a string'. If you mean it as parsing a quoted string you could write it as:
the expession
'"' >> *~qi::char_('"') >> '"'
means: a quote ('"'
) followed by (>>
) zero or more (*
) characters which are not a quote (~qi::char_('"')
) followed by (>>
) another quote ('"'
) .