C++ C++;将char变量转换为字符串变量将返回ASCII值
我的函数如下所示:C++ C++;将char变量转换为字符串变量将返回ASCII值,c++,C++,我的函数如下所示: string toOriginal(char c) { if (c == '$') return "car"; else if (c == '#') return "cdr"; else if (c == '@') return "cons"; else { string t = to_string(c); return t; } } ...
string toOriginal(char c)
{
if (c == '$')
return "car";
else if (c == '#')
return "cdr";
else if (c == '@')
return "cons";
else
{
string t = to_string(c);
return t;
}
}
...
else
{
return std::string(&c, 1);
}
但是,当我的字符c包含一个类似“r”的值时,我希望它以字符串形式返回“r”。但是,它返回一个字符串“114”。
std::to_string
没有接受字符的重载。它将char
转换为int
,并提供int
的字符串表示形式
使用std::string
的构造函数
string t(1, c);
std::to_string
没有接受char
的重载。它将char
转换为int
,并提供int
的字符串表示形式
使用std::string
的构造函数
string t(1, c);
方法to_string()
用于。字符是一种数字类型
请参阅有关如何正确操作的相关问题:方法to_string()
用于。字符是一种数字类型
请参阅有关如何正确操作的相关问题:您也可以使用如下替代字符串构造函数:
string toOriginal(char c)
{
if (c == '$')
return "car";
else if (c == '#')
return "cdr";
else if (c == '@')
return "cons";
else
{
string t = to_string(c);
return t;
}
}
...
else
{
return std::string(&c, 1);
}
您还可以使用如下替代字符串构造函数:
string toOriginal(char c)
{
if (c == '$')
return "car";
else if (c == '#')
return "cdr";
else if (c == '@')
return "cons";
else
{
string t = to_string(c);
return t;
}
}
...
else
{
return std::string(&c, 1);
}
您的参数需要切换:例如字符串t(1,c);除此之外,它成功了。谢谢。@nhershy,啊。是的。您的参数需要切换:例如字符串t(1,c);除此之外,它成功了。谢谢。@nhershy,啊。对