4

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.

4

2 回答 2

8

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

于 2012-10-31T07:22:19.703 回答
3

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

于 2012-10-31T07:22:36.970 回答