首页 > 解决方案 > 如何将条件文本转换为“if”条件表达式?

问题描述

我正在尝试用 Visual C++ 编写将条件文本转换为带有算术运算符和括号的简单“if”条件表达式。

例如:文本:“(((a+b)>0)or(c==10))and(d!=e))”或“(a>b)xor(c==d)”等...

我们通常采用 C++ 风格:

int a,b,c,d,e;
...
...    
char text[]="(((a+b)>0)or(c==10))and(d!=e))";
if(text_to_if(text)) { .... }
...
...

文本中的字母 a、b、c、d、e 对应于现有的整数或浮点变量。

标签: c++visual-c++

解决方案


请注意,C++ 不是解释型语言。您不能在运行时更改代码,包括 if 语句。如果您想要运行时代码评估,您可以尝试使用 JavaScript 及其eval()功能1 .

此外,您将无法从代码中检索变量名称(调试目的除外)。


推荐阅读