将整数数组转换为数字

新手上路,请多包涵

想我有一个这样的整数数组:

 a[0]=60; a[1]=321; a[2]=5;

现在我想将整个数组转换为整数,例如 int b 运行代码后变成603215。

怎么做?

原文由 Inside Man 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 532
1 个回答

使用 std::stringstream

 #include <iostream>
#include <sstream>

int main() {
    std::stringstream ss;
    int arr[] = {60, 321, 5};

    for (unsigned i = 0; i < sizeof arr / sizeof arr [0]; ++i)
        ss << arr [i];

    int result;
    ss >> result;
    std::cout << result; //603215
}

请注意,在 C++11 中,稍微难看的循环可以替换为:

 for (int i : arr)
    ss << i;

此外,鉴于溢出的可能性很大,可以使用 ss.str() 访问数字的字符串形式。为了避免溢出,使用它可能比尝试将它塞进一个整数更容易。负值也应该考虑在内,因为这只有在第一个值为负时才有效(并且有意义)。

原文由 chris 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题