我的函数看起来像这样:
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;
}
}
但是,当我的字符 c 包含像"r"这样的值时,我希望它以字符串形式返回"r"。但是,它返回一个字符串"114"。
std::to_string
没有需要char
的重载。它将char
转换为int
,并为您提供int
的字符串表示形式。
使用 std::string
的构造函数。
string t(1, c);
您还可以使用替代字符串构造函数,如下所示:
...
else
{
return std::string(&c, 1);
}
方法to_string()
用于将数值转换为字符串。char
是数值类型。
请参阅有关如何正确操作的相关问题:从字符(不是字符*)到标准::字符串的首选转换