我對C++超新穎。如何在C++中使用開關大小寫比較字符串
我必須做一個解析器。取一個像「34 + 5-(9 * 8)」的輸入並將其插入二叉樹。我的想法是比較字符串中的每個字符並確定字符是數字還是simbol(+, - ,*,/等),並將其插入隊列以使用後綴表示法,然後將其插入二進制樹
我要的是讓用戶輸入字符串,分割字符串轉換成字符,然後比較
像
#include <iostream>
#include <string>
using namespace std;
string cadena;
string numero;
int i;
int main(){
cout<< "Type String";
cin>> cadena;
for (i=0; i<cadena.length(); i++){
switch(cadena[i]{
case "0":
case "1":
case "2":
...
case "9":
numero+=cadena[i];
}
cout << numero<<endl;
numero="";
}
return 0;
}
但是編譯器會抱怨我不能比較當前字符(cadena[i]
)與我的字符串(「0」)。
有人能告訴我該怎麼做嗎?
我已經用炭,而不是試圖std:string
,閱讀其他問題等
'INT ISDIGIT(INT CH);' – 2012-03-02 18:52:10
感謝所有的答覆。答案來自我已經擁有的一個項目。 解決方案是將cadena [i]轉換爲int int car =(int)cadena [i] 然後與ascii值進行比較。 對不起,我是新來的C++,我也討厭它哈哈 – chepe263 2012-03-03 00:13:03