2

可能重复:
在 C++ 中拆分字符串

我不能使用 boost(因为我已经看到了许多标记化问题的解决方案)。首先,我将输入的命令放入字符串中。命令示例:

添加(姓名,电话号码)

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

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

4

1 回答 1

1

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

有关此的更多信息,请通过

于 2013-01-28T07:22:14.283 回答