Когда я пытаюсь преобразовать один байт шестнадцатеричной строки в строку char, я нахожу, что она занимает 3 байта. Я использую Visual Studio 2013.Поверните байт шестнадцатеричного кода в строку символов
Если у меня меньше 3 байт, я получаю сообщение об ошибке: «Стек вокруг переменной« str »был поврежден».
Что я делаю неправильно? Разумеется, значение шестнадцатеричного значения 0xF1 должно соответствовать char str[1]
? Почему мне нужно объявить 3 байтовый массив для назначения 1 байтового значения?
char str[3];
sprintf(str, "%02X", 0xF1);
Содержание str
является 0x0026fd18 «F1»
Существует «F», «1», и 'NUL'. Это 3 байта. –