从String获取某些数据

时间:2016-02-25 23:54:24

标签: c++ string

我正在尝试使用string string格式阅读int(不是文件):

例如:Apples 1 Oranges 4 Bananas 2

Bananas 5 Pineapple 1

我这样做是为了计算每个客户订购的所有商品的数量。我不知道如何获得此string的数字(甚至部分)。

getQuantity(string order)
{
   while(order.length() > 0)
   { 
     ????
    }
 }

任何人都可以如此善良地引导我朝着正确的方向前进吗?

2 个答案:

答案 0 :(得分:0)

伪造的代码

off =0
loop
  idx = str.find(off, ' ')
  word = str.substr(off, idx - 1)
  off = idx
  idx2 = str.find(off, ' ')
  num = str.substr(off,idx2-1)

即循环查找chars <space> num <space>....

答案 1 :(得分:0)

您可以像std::istringstream对象一样使用istream

std::string fruit_record = "Apples 1 Oranges 4 Bananas 2";
std::istringstream fruit_stream(fruit_record);
std::string name;
int value;
while (fruit_stream >> name >> value)
{
  // Process name and value
}