将字符串标记为字符串向量

时间:2013-01-28 07:17:48

标签: c++ string vector tokenize

  

可能重复:
  Splitting a string in C++

我不能使用boost(因为我已经看到很多令牌化问题的解决方案)。 首先,我将一个类型化的命令放入一个字符串中。 命令示例:

添加(姓名,电话号码)

int main()
{
    string line;
    cin >> line;
    cout << "Reservations>>";
    if(line[0] == 'a'){
    }
}

我需要确保语法上的所有内容都是正确的(它们使用括号和逗号),我将首先将字符串分解为字符串本身,放在向量中。所以我的第一个问题是:我怎样才能断开由空格分隔的每个部分,以便将其推入向量?然后我将比较'('与vector [1]的第一个字符串([0])和','与字符串vector [1]的[line.length()] - 如何我会引用位于向量中的字符串中的某些字符吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用strtok()。您不能直接在C ++ std :: string上使用strtok。它需要一个可变的零终止C样式字符串,并且没有标准方法来访问该表单中std::string的内容。

有关详情,请仔细阅读this