这是我写的将整数转换为字符串的代码.
#include <iostream>
using namespace std;
int main()
{
string s;
int b=5;
s.push_back((char)b);
cout<<s<<endl;
}
Run Code Online (Sandbox Code Playgroud)
我预计输出为5,但它给了我空白.
我知道有另一种方法可以使用stringstream,但我想知道这个方法有什么问题?
数字的字符代码不等于字符在典型系统中表示的整数.
小数字的字符代码是连续的(N3337 2.3字符集,第3段),因此您可以添加'0'将一位数字转换为字符.
#include <iostream>
using namespace std;
int main()
{
string s;
int b=5;
s.push_back((char)(b + '0'));
cout<<s<<endl;
}
Run Code Online (Sandbox Code Playgroud)