我想将表示字符的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