簡體   English   中英

將字符保存為字符串類型到堆棧上?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM