Преобразование шестнадцатеричного кода в символ на языке Си
Я пишу программу на языке Си с использованием Visual Studio 2017.
Я написал функцию, которая преобразует шестнадцатеричную строку в символ. Например, "4B" преобразуется в "K".
Функция работает, но во время компиляции появляется предупреждающее сообщение. Мне интересно, есть ли лучший способ сделать это.
Предупреждающее сообщение:
предупреждение C4477: 'swscanf' : строку формата '%X' На требует аргумент типа 'беззнаковый тип int *', но аргумент имеет тип вариативную 1 'LPTSTR'
Что я уже пробовал:
void of_hex_to_char(LPTSTR as_hex, LPTSTR as_char) { TCHAR sHex[3]; memset(sHex, 0x00, sizeof(sHex)); _tcscpy(sHex, as_hex); CharUpper(sHex); _stscanf(sHex, L"%x", as_char); return; }
Patrice T
В этом коде нет 'swscanf'.
Roland M Smith
_stscanf-это макрос, который преобразуется в swscanf.