c++ - 如何将文件中的团队信息解析并存储到类中?

标签 c++ class vector

我有一些包含 nba 球队和他们的首发球员的文件,我需要将这些信息添加到我的程序中,然后用它们执行一些任务。

我目前无法解析文件。

文件看起来像这样:

队名,控球后卫,得分后卫,小前锋,大前锋,中锋

例如:

芝加哥公牛队、德里克·罗斯、凯尔·科沃尔、洛尔·邓、卡洛斯·布泽尔、乔金·诺阿 丹佛掘金队、..等

我只想添加球队、控球后卫和小前锋的名字,但我不确定该怎么做。

到目前为止我有什么:

 17         ifstream* myIN = new ifstream();
 18         myIN->open(filename.c_str());
 19 
 20         string teamName;
 21 
 22         *myIN >> teamName;
 23         
 24         while(!myIN->eof()){
 25                 TEAM.push_back(teamName);
 26                 //TODO
 27         }      

我正在研究使用“find()”来查找每个逗号,但我不知道如何只记录第一个逗号前后以及第三个逗号之后的信息。

任何形式的指导将不胜感激。

最佳答案

这是使用 tokenizing 进行解析的非常常见(对您来说幸运的是,很简单)的情况。

这里,你需要的不同字段用同一个字符分隔:,

请看这个stackoverflow question about tokenizing in C++获取更多信息。

此外,不要忘记删除标记化元素上不必要的空格(第一个除外)

关于c++ - 如何将文件中的团队信息解析并存储到类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18797128/

相关文章:

c++ - 您如何在数组的特定位置插入数字?

c++ - 流操纵器的模板类型推导

C++11 右值引用与常量引用

c++ - C++ 问题中的字符串转字符

php - 为什么要在类中初始化变量?

java - 使用类名创建一个类

java - Java中引用父类

c++ - 从命令行将文本文件读入 vector

c++ - 异常: 'Access violation reading location'

c++ - 我可以循环访问并通过键访问元素的容器? C++