سؤال

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