【发布时间】:2017-04-23 03:59:17
【问题描述】:
vector<string> ExprTree::tokenise(string expression){
vector<string> store;
string s;
std::stringstream in(expression);
while(in >> s) {
store.push_back(s);
}
return store;
}
当我输入算术表达式 (5 + 5) + 5
我得到输出:
(5
+
5)
+
5
随心所欲:
(
5
+
5
)
+
5
另外,代码只分隔空格之间的字符串,是否可以对没有空格的字符串进行标记?即 (5+5)+5
【问题讨论】:
-
这取决于您要解析的表达式有多复杂。您可能需要正则表达式或更复杂的解析器。
-
是的,这是可能的(但不,流不会为您完成这项工作)。
标签: c++ string vector evaluation