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

Tokenizing a string into a vector of strings

本文关键字:字符串 向量 记为      更新时间:2023-10-16

可能的重复项:
拆分C++字符串

我不能使用 boost(正如我已经看到的那样,它是许多标记化问题的解决方案)。首先,我将键入的命令放入字符串中。命令示例:

添加(姓名、电话号码)

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

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

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

有关此内容的更多信息,请浏览此内容