Как преобразовать arbitory hex в ascii в c?

#c #ascii #hex

#c #ascii #Шестнадцатеричный

Вопрос:

Как преобразовать 00000000004004d8 в строку ascii?

Например, 41 это для A ?

Комментарии:

1. Как 42 интерпретируется как A ? ??? В ASCII символ A имеет значение 65 (десятичный; 0x41 шестнадцатеричный) Также вам нужно выяснить, как работать с шестнадцатеричными значениями вне диапазона и со строками ввода нечетной длины.

Ответ №1:

Я бы использовал sscanf для этого. Что-то вроде:

 char c[8];
sscanf("00000000004004d8", "xxxxxxxx", 
   amp;c[0],
   amp;c[1],
   amp;c[2],
   amp;c[3],
   amp;c[4],
   amp;c[5],
   amp;c[6],
   amp;c[7]);
  

Комментарии:

1. Как создать 00000000004004d8 параметр, чтобы он мог работать для arbitory hex?