在c ++中将整数转换为字符串

Gib*_*lah 2 c++ string

这是我写的将整数转换为字符串的代码.

#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,但我想知道这个方法有什么问题?

Mik*_*CAT 6

数字的字符代码不等于字符在典型系统中表示的整数.

小数字的字符代码是连续的(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)