хранение входных шестнадцатеричных значений из строки в C - PullRequest
0 голосов
/ 01 марта 2019

В настоящее время у меня есть строковый ввод argv для моей программы на C (т.е. ./a "123456").Есть ли способ, которым я могу преобразовать эту строку в шестнадцатеричные значения (0x123456) без создания таблицы преобразования?

Обратите внимание, что я хочу преобразовать строку непосредственно в шестнадцатеричное и сохранить ее для использования (то есть "\ x12 \"x34 \ x56 ", не в шестнадцатеричных значениях ASCII.

1 Ответ

0 голосов
/ 01 марта 2019

Каноническая функция для преобразования строки в целое число в C, strtol, имеет параметр radix, поэтому вы можете просто использовать:

int hex = strtol(argv[1], NULL, 16);
...