How to convert string to int with different bases?
-
22-07-2021 - |
سؤال
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.
لا تنتمي إلى StackOverflow