我想将string
转换为int
,但转换必须考虑前缀0x
或0
(如果有),并将输入视为hex
或分别为oct
。使用istringstream
,您需要明确指定基数。除了明确编码以检查字符0x
之外,还有其他方法吗?
编辑:
转换应隐式根据前缀查找基数。就像int i = 0x123;
一样。
答案 0 :(得分:7)
您可以使用C ++ 11中的std::stoi系列函数。
答案 1 :(得分:2)
您可以使用C函数strtol
:http://www.cplusplus.com/reference/clibrary/cstdlib/strtol/
它理解0x / 0前提条件。