我想將表示字符的ASCII值的int轉換爲單字符字符串。C++ ::將ASCII值轉換爲字符串
我嘗試了以下內容,這是行不通的:
string s1=(char) 97;
然而,轉換隻適用,如果我打散分配是這樣的:
string s1; s1=(char) 97;
我爲此感到困惑和任何人都可以解釋區別?
在此先感謝!
我想將表示字符的ASCII值的int轉換爲單字符字符串。C++ ::將ASCII值轉換爲字符串
我嘗試了以下內容,這是行不通的:
string s1=(char) 97;
然而,轉換隻適用,如果我打散分配是這樣的:
string s1; s1=(char) 97;
我爲此感到困惑和任何人都可以解釋區別?
在此先感謝!
我嘗試了以下內容,這是行不通的:
string s1=(char) 97;
這是因爲std::string
constructor沒有接受單個char
任何超負荷。並且,複製也被省略,所以構造函數被直接調用,operator =()
永遠不會被調用(記錄在複製elision)。
轉換隻適用,如果我打散分配是這樣的:
string s1; s1=(char) 97;
現在的副本沒有省略掉任何更多,你真的叫std::string::operator =()
這不具有過載接受單char
。
明白了。謝謝! –
你可以使用itos()嗎? –
儘管回答您的問題並不難,下次您可能希望比單純的「*它不起作用」更精確,因爲您基本上提供了** no **關於錯誤的任何信息你得到。如果你需要幫助,你需要幫助我們幫助你。 – syam