这是我编写的将整数转换为字符串的代码。
#include <iostream>
using namespace std;
int main()
{
string s;
int b=5;
s.push_back((char)b);
cout<<s<<endl;
}
我预计输出为 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;
}
关于c++ - C++ 整数转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37838859/