Вопрос

I want to convert string to int but the conversion has to consider the prefixes 0x or 0 if any and consider the input as hex or oct respectively. Using istringstream, you need to explicitly specify the base. Is there any way than explicitly coding to check for characters 0x?

Edit: The conversion should implicitly find the base based on the prefix. Just like int i = 0x123; does.

Это было полезно?

Решение

You can use the std::stoi family of functions from C++11.

Другие советы

You can use C function strtol : http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/ It understands 0x/0 prefices.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top