2016-04-08 53 views
-1

我正在嘗試讀取字符串。每個角色都通過一系列「if/else if」測試。如果當前字符符合其中一個條件,則將其添加到不同的字符串中(有時也會執行其他操作)。我的問題是,當字符添加到不同的字符串時,它顯然是一個數字而不是原始字符(例如:'+'保存爲'43')。如何解決這個問題?我發現的一切都轉換爲ASCII,我需要從它轉換回來(我認爲)。我是一個新手,所以裸跟我:)如何將ascii數字轉換爲恰當的字符並將其分配給字符串

代碼(相當大:我是新手):

string Input = RemoveChar(s, ' '); 
vector< vector<string> > Vector = vector< vector<string> >(); 
char LastChar = ' '; 
string str = ""; 
vector<string> temp = vector<string>(); 
for (int i = 0; i < Input.length(); i++) 
{ 
    char c = Input[i]; 
    if ((i == 0) && (c == '-')) 
     str += c; 
    else if ((isOperator(LastChar)) && (c == '-')) 
     str += c; 
    else if (isOperator(c)) 
    { 
     temp.push_back(str); 
     temp.push_back(to_string(c)); 
     Vector.push_back(temp); 
     temp.clear(); 
     str.erase(); 
    } 
    else if (isDouble(c)) 
     str += c; 
    if (i == (Input.length() - 1)) 
    { 
     temp.push_back(str); 
     temp.push_back(""); 
     Vector.push_back(temp); 
    } 
    LastChar = c; 
} 
+2

請發佈您的代碼。 –

+0

任何特定的代碼發佈網站使用? – Ethan

+0

Cut'n'paste到這裏將做 –

回答

2

你可能想要做

std::string c_as_a_str(1, c); 

,而不是to_string(c)其將c視爲「數字」 - 整數類型,其中char恰好在C和C++中

編輯順便提一下,這是來自文檔的構造函數編號(2):http://en.cppreference.com/w/cpp/string/basic_string/basic_string

+0

添加了一個有用的[文檔鏈接](http://en.cppreference.com/w/cpp/string/basic_string/basic_string),以便您知道如何在以後找到自己的東西。 – sehe

+0

謝謝,正是我需要的! – Ethan

+0

還有很多事情要說,但我想,一次只能做一件事!考慮到完成後點擊[CodeReview.SE]。人們會告訴你什麼---臭 - 可以做得更優雅:) – sehe

相關問題