C++将字符变量转换为字符串变量将返回 ASCII 值



我的函数看起来像这样:

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是数值类型。

请参阅有关如何正确操作的相关问题:从字符(不是字符*)到标准::字符串的首选转换

最新更新