Я пытаюсь получить размер переменной LPTSTR и переменной CONST CHAR, используя приведенный ниже код, но я не могу получить правильный размер.
Я должен получить 20, но вместо этого я получаю 0 для переменной const char * и 4 для переменной LPTSTR.
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
Мне нужно получить размер значения, чтобы вставить его в реестр Windows в виде двоичных данных (REG_BINARY
) используя следующую функцию:
lRes = RegSetValueEx(hMykey, "Scancode Map", 0, REG_BINARY, (LPBYTE) var2, sizeof(var2));