Я хочу конвертировать string
в int
но при конвертации нужно учитывать префиксы 0x
или же 0
если таковые имеются и рассмотреть вход как hex
или же oct
соответственно. С помощью istringstream
нужно явно указать базу. Есть ли способ, кроме как явно кодировать, чтобы проверить символы 0x
?
Редактировать:
Преобразование должно неявно находить базу на основе префикса. Как int i = 0x123;
делает.
Вы можете использовать СТД :: стои семейство функций из C ++ 11.
Вы можете использовать функцию C strtol
: http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/
Он понимает предпочтения 0x / 0.