如何将所有元素整合为一体?

时间:2019-10-17 09:53:57

标签: c++ string vector integer

我的代码将整数分解为多个部分并将它们写入数组,但是现在我想将数组收集回一个整数。

我将修改数组中的数据,因此更改后我需要将所有数据收集回来。

int a = 123456789;
std::string stringInt = std::to_string(a);

std::vector<int> numbers;
numbers.reserve(stringInt.length());

for (const auto& chr : stringInt)
{
    // ...

    numbers.push_back(chr - '0');
    cout << chr << "\n" << endl;
}

1 个答案:

答案 0 :(得分:2)

您可以将整数相加,每次将结果乘以10

int b = 0;
for (const auto& chr : stringInt)
{
    numbers.push_back(chr - '0');
    b *= 10;
    b += chr - '0';
}
std::cout << b << std::endl;

或者,您可以将字符放入字符串中,而不是将它们变成int并将它们放入向量中,然后使用std::stoi从字符串中取出int

std::string numbers;
for (const auto& chr : stringInt)
{
    numbers.push_back(chr);
    cout << chr << "\n" << endl;
}
int b = std::stoi(numbers);
std::cout << b << std::endl;