我快要发疯了,想弄清楚这个问题,但我尝试的一切都没有用。请帮帮我。
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/