Ich versuche, die Größe einer LPTSTR-Variablen und einer CONST CHAR-Variablen mit dem folgenden Code zu ermitteln, aber ich kann die richtige Größe nicht ermitteln.Größe von LPTSTR oder CHAR * mit Hexadezimalwerten ermitteln
Ich soll 20 bekommen, aber stattdessen bekomme ich 0 für die const char * Variable und 4 für die LPTSTR Variable.
const char *var1 = "\x00\x00\x00\x00"
"\x00\x00\x00\x00"
"\x02\x00\x00\x00"
"\x5B\xE0\x5B\xE0"
"\x00\x00\x00\x00";
LPTSTR var2 = "\x00\x00\x00\x00"
"\x00\x00\x00\x00"
"\x02\x00\x00\x00"
"\x5B\xE0\x5B\xE0"
"\x00\x00\x00\x00";
printf("%d", sizeof(var1)); // this outputs 0
printf("%d", sizeof(var2)); // this outputs 4
Ich brauche die Größe des Wertes, um es in der Windows-Registrierung einfügen als Binärdaten (REG_BINARY
) unter Verwendung der folgenden Funktion:
lRes = RegSetValueEx(hMykey, "Scancode Map", 0, REG_BINARY, (LPBYTE) var2, sizeof(var2));
Wie erhalten Sie 0 für die erste? Scheint nicht richtig. – cnicutar
Sorry, ich bekomme 4 für sizeof (var1) – hardyRocks