В C, scanf использует %d
для десятичного целого числа, %o
для восьмеричного целого, %x
для шестнадцатеричного целого, %i
для всех трех и %u
для беззнакового целого. Любая из этих букв может начинаться с длинных или коротких l
или h
.
Но есть ли способ отсканировать восьмеричное беззнаковое целое или шестнадцатеричное беззнаковое целое? Я пробовал такие вещи, как %ux
, %xu
, %ui
, et c. но они, похоже, не работают. K & R и wikipedia тоже ничего не упоминают. И просто используя %u
, вы видите "010" как "10", а не восьмеричное для 8.