C++教训篇:将char转为string

在一道题中为了方便,需要将char类型变量转化为string类型变量,首先想到的是用to_string()函数,结果导致大错特错。

int main(){
    char achar='a';
    string astring=to_string(achar);
    cout<

看似没问题,结果输出的答案是:

result

应该是字符a的ASCII码,所以说使用to_string()函数进行转换的时候应该是:

  1. 先把char转化为int
  2. 把int转化为string

那正确的转化应该怎么转化呢,我发现最方便的就是定义一个变量,将char类型变量直接赋值,因为C++已经为我们实现了运算符的重载。

int main() {
    char achar = 'a';
    string astring;
    astring.push_back(achar);
    cout << astring << endl;
    return 0;
}

结果正确

你可能感兴趣的:(C++教训篇:将char转为string)