我有一个无符号字符数组unsigned char* name = malloc(nameLength);
- 我如何使用printf打印它?%s
似乎不能正常工作,%u
也不行(会看到随机图标)。
这是我创建要打印的数据的方法:
__int32 nameLength;
ReadProcessMemory(hProcess, (LPCVOID)(classNamePtr + 0x0004), &nameLength, sizeof(__int32), 0); //Reads nameLength to be 13 in this case
unsigned char* name = malloc(nameLength+5); //Add 5 for good measure, it is null terminated
ReadProcessMemory(hProcess, (LPCVOID)(nameStrPtr), name, nameLength, 0);
name[nameLength] = 0; //null terminate
printf("%s", name); //Outputs single character strange characters, like an up icon
name[nameLength] = 0
。 - Christian Stewart