在一道题中为了方便,需要将char类型变量转化为string类型变量,首先想到的是用to_string()
函数,结果导致大错特错。
int main(){
char achar='a';
string astring=to_string(achar);
cout<<astring<<endl;
return 0;
}
看似没问题,结果输出的答案是:
应该是字符a的ASCII码,所以说使用
to_string()
函数进行转换的时候应该是:
- 先把char转化为int
- 把int转化为string
那正确的转化应该怎么转化呢,我发现最方便的就是定义一个变量,将char类型变量直接赋值,因为C++已经为我们实现了运算符的重载。
int main() {
char achar = 'a';
string astring;
astring.push_back(achar);
cout << astring << endl;
return 0;
}
结果正确