gpt4 book ai didi

c++ - 如何分隔字符串并将每个部分存储在不同的 vector 中

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:47 25 4
gpt4 key购买 nike

我有一个有很多行的文本文件,一个例子是

约翰:学生:企业

可能:讲师:数学

鲍勃:学生:数学

我如何将它们拆分并存储在不同的 vector 中,例如:

vector 1:约翰、梅、鲍勃

vector2:学生、讲师、学生

vector3:商业、数学、数学

我当前的代码是:

ifstream readDetails(argv[1]);
while (getline (readEvents, line, ':')){
cout << line << endl;
}

它只是将字符串拆分,但我想不出任何方法来拆分字符串并将它们存储到 vector 中。

最佳答案

您可以创建 vector 的 vector 并使用 token 索引。

如果流有时可能有较少的标记,您将需要处理这种情况。

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
int main() {

const int NUM_TOKENS = 3;
std::vector<std::vector<std::string>> v(NUM_TOKENS);
int token = 0;
std::string str("Mary:Had:Lamb");
std::istringstream split(str);
std::string line;
while (std::getline (split, line, ':')){
v[token++].push_back(line);
if ( token == NUM_TOKENS )
token = 0;

}
return 0;
}

关于c++ - 如何分隔字符串并将每个部分存储在不同的 vector 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43855154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com