[英]Saving character to string type on to the stack?
我定義了一個堆棧,它只接受字符串。 現在我的目標是讀取每個字符,如果它是像+這樣的運算符,則需要將其壓入堆棧。
當我按下它時,它會保存ACSII的+號,即43
如何實現將char保存到字符串中?
我試圖使用STL
stack<string> s1;
string post;
if (exp[0] == '+')
{
s1.push(to_string(exp[0]));
}
cout<<s1.top();
我需要保存+,最終我要編寫代碼將infox轉換為后綴表達式。 我的輸入將用運算符編號
to_string
函數僅具有將數字值轉換為字符串的重載,這就是為什么要獲取字符串“ 43”的原因。 您可以將代碼更改為此:
s1.push("+");
其中c-string構造函數中的字符串用於將const char*
隱式轉換為string
。 或者,要將單個char
轉換為string
,最簡單的方法是使用fill構造函數 ,在這種情況下,您可以這樣編寫:
s1.push(string(1, exp[0]));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.