C printf unsigned char array

Habe ich ein unsigned char-array unsigned char* name = malloc(nameLength); - wie kann ich drucken Sie es mit printf? %snicht richtig zu funktionieren scheint, auch nicht %u (sehen zufällige Symbole).

Hier ist, wie Erzeuge ich Daten, die ich drucken möchten:

__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
Wenn name enthalten eine null-terminierte Zeichenkette aus druckbaren Zeichen, dann die printf format %s funktionieren würde. Das ist, was es ist. Was ist in dem array, nur willkürliche zahlen? Können Sie uns ein wenig mehr?
Sie haben nicht uns genug Informationen. Lesen Sie sscce.org
Ich habe einige weitere Informationen @KeithThompson
Wenn es null-terminiert, %s, sollte funktionieren. Wie Sie überflüssige Leerzeichen am Ende, versuchen Sie, manuell zu schreiben \0 gibt, und versuchen Sie es erneut.
In dem code, den ich tun - name[nameLength] = 0

InformationsquelleAutor Christian Stewart | 2014-01-03

Schreibe einen Kommentar