好的,我想做的是使用一个字符串作为输入(例如 "16*12+25"),将其转换为计算机可以理解和返回计算后的值的数学表达式。我可能可以自己编写这个程序,但很可能需要相当长的时间,最终结果也不会像我希望的那样好,除非我愿意再花更多的时间。
所以我的问题是,您是否知道有任何脚本、库或 API 可以在 C++ 中实现这个功能?我已经找到了一些用于 Java、Python 和 .NET 的脚本,但我没有使用这些语言,并且希望尽可能地在 C++ 中完成整个项目。您有任何好的想法或链接吗?
好的,我想做的是使用一个字符串作为输入(例如 "16*12+25"),将其转换为计算机可以理解和返回计算后的值的数学表达式。我可能可以自己编写这个程序,但很可能需要相当长的时间,最终结果也不会像我希望的那样好,除非我愿意再花更多的时间。
所以我的问题是,您是否知道有任何脚本、库或 API 可以在 C++ 中实现这个功能?我已经找到了一些用于 Java、Python 和 .NET 的脚本,但我没有使用这些语言,并且希望尽可能地在 C++ 中完成整个项目。您有任何好的想法或链接吗?
我找到了我需要的东西!可下载的源代码是C++和CodeBlocks项目。你可以在这里找到它:http://www.speqmath.com/tutorials/expression_parser_cpp/index.html
Jared推荐的更为复杂的表达式解析器:http://www.partow.net/programming/exprtk/index.html
在C++中没有内置这个功能;所有表达式解析代码都属于编译器。您需要使用一些外部库。快速搜索谷歌可以找到一个看起来相当合理的 muParser。