Печать шестнадцатеричных символов в C

Я пытаюсь прочитать строку символов, а затем распечатать шестнадцатеричный эквивалент символов.

Например, если у меня есть строка «0xc0 0xc0 abc123» , где первые 2 символа - c0 в шестнадцатеричном формате, а остальные символы - abc123 в ASCII, тогда я должен получить

c0 c0 61 62 63 31 32 33

Однако printf с использованием % x дает мне

ffffffc0 ffffffc0 61 62 63 31 32 33

Как мне получить желаемый результат без "ffffff "? И почему только c0 (и 80) имеет ffffff , но не другие символы?

88
задан Prince John Wesley 9 November 2011 в 05:08
поделиться