C int to char converstion添加了garabge字符

时间:2016-09-14 23:37:24

标签: c++ c arrays casting

我正在尝试将int转换为4个字节。由于某种原因,它最终在最后添加了一些垃圾特殊字符

int _tmain(int argc, _TCHAR* argv[])
{
    int num = 31070;

    char arr[4];

    arr[0] = num & 0xFF;
    arr[1] = (num >> 8) & 0xFF;
    arr[2] = (num >> 16) & 0xFF;
    arr[3] = (num >> 24) & 0xFF;

    return 0;
 }

以下是调试窗口的输出,您可以看到它为^y添加了arr[0]arr[1]

Debugger output window

我尝试过像cast这样的东西,但仍然添加了这些垃圾字符。

1 个答案:

答案 0 :(得分:4)

那些不是垃圾字符。这些是十进制数的ascii表示。调试器只显示ascii表示。在这张桌子上寻找94和121:

http://www.asciitable.com/