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

新手上路,请多包涵

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

 #include <iostream>
using namespace std;
int main()
{
    string s;
    int b=5;
    s.push_back((char)b);
    cout<<s<<endl;
}

我预计输出为 5,但它给了我空白。

我知道还有另一种使用 stringstream 的方法,但我想知道这种方法有什么问题?

原文由 Gibreel Abdullah 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 305
1 个回答

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

假定十进制数字的字符代码是连续的( 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;
}

原文由 MikeCAT 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题