C ++减少带有递减的字符串

时间:2013-11-24 01:35:28

标签: c++ string subtraction

首先,这是我的代码:

std::vector<std::string> x = split("3 5", ' ');
int total = 0;
// then we loop over the elements
for(size_t i = 0; i < x.size(); ++i) {
  // convert the string to an integer
  int n = atoi(x[i].c_str());
  total = total + n;
}

std::cout << "total = " << total << std::endl;

所以,正如你所看到的,这将增加3到5.但是,我希望它做反向(3 - 5)。

我怎么能这样做? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您展示的代码基本上完成了所有工作,因为您将所有给定的数字减去第一个,您需要将第一个案例作为特殊案例,即i == 0时。

...
for(size_t i = 0; i < x.size(); ++i) {
  // convert the string to an integer
  int n = atoi(x[i].c_str());
  if (i == 0)
    total = n;
  else
    total = total - n;
}
...