如何将字符串转换为具有不同基数的int?

时间:2012-10-31 07:20:09

标签: c++ hex base-conversion

我想将string转换为int,但转换必须考虑前缀0x0(如果有),并将输入视为hex或分别为oct。使用istringstream,您需要明确指定基数。除了明确编码以检查字符0x之外,还有其他方法吗?

编辑: 转换应隐式根据前缀查找基数。就像int i = 0x123;一样。

2 个答案:

答案 0 :(得分:7)

您可以使用C ++ 11中的std::stoi系列函数。

答案 1 :(得分:2)

您可以使用C函数strtolhttp://www.cplusplus.com/reference/clibrary/cstdlib/strtol/ 它理解0x / 0前提条件。