C++如何将整数放入字符数组

标签 c++ arrays type-conversion

我快要发疯了,想弄清楚这个问题,但我尝试的一切都没有用。请帮帮我。

char ch[5];
int in = 15;
ch[2] = in; // It has to be on a specefic place in that array
cout << ch[2]; // Prints '*'

我知道我可以做类似 ch[2] = in+48; 的事情,但这只适用于小于 10 的数字。

最佳答案

cout 接收到一个 char 时,它将它解释为一个字符(根据执行字符集)而不仅仅是一个整数值。如果要打印整数值,则需要将其转换为其他一些整数类型:

cout << static_cast<int>(ch[2]);

请注意,您几乎肯定无法将 int 的所有值都存储在 char 中。如果您的 char 是 8 位(可能是这样),那么 255 就是您可以在其中存储的最大值。

关于C++如何将整数放入字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21191844/

相关文章:

java - 从字符串中的byte[]到字符串?

C++ 如何在不显式转换的情况下降级函数调用中的类实例?

C#,将 Action 分配给委托(delegate)

c++ - 访问冲突读取位置0xcdcdcdcd - VS 2010 win7

c++ - SDL_ttf "Couldn' t 用 C++ 中的 SDL2 加载字体文件

c# - Web 服务中的数组 - 对象引用未设置为对象的实例

java - 如何将图像转换为字符串以将其读/写到 SQLite 数据库 - Android Studio (Java)

c++ - 如何从复制构造函数委托(delegate)到通用复制构造函数模板?

c++ - 如何打开COMXX文件(串口)

c++ - 实现动态矩阵类时出错