c++ - 如何使用文本文件中的数据将对象添加到向量中
问题描述
我在文本文件中有一个游戏列表,如下所示:
MMO League Of Legends
MMO World Of Warcraft
Strategy Civilization
Strategy Hearthstone
Arcade Street Fighter
Arcade PacMan
AR Beat Saber
AR Superhot
我的问题是我想使用这些类别和名称创建对象,我想逐行阅读。
例如,我想阅读第一行,当它看到单词 MMO 时创建一个名为英雄联盟的 MMO 对象。与其他类别相同。我已经有了所有的类和构造函数。
然后,我需要将所有对象保存在以下向量中
vector <Game*> games;
到目前为止,这是我的主要功能
int main()
{
ifstream inFile;
inFile.open("Games.txt"); //Open the file
if (!inFile) { //Check that file was opened successfully
cout << "Unable to open file";
exit(1);
}
string line;
if (inFile.is_open()) {
while (std::getline(inFile, line)) {
}
}
感谢您的帮助,我从早上开始就在这个程序上工作,这部分真的让我很难过!
解决方案
一种可能的解决方案是从一行一行地读入 a 开始std::string
(就像你现在做的那样)。那么你真的有两个选择:
将该字符串放入 an
std::istringstream
并提取第一个以空格分隔的单词(使用普通>>
运算符),然后std::getline
将该行的其余部分放入一个单独的字符串中。
拥有两个单独的字符串后,您可以使用它们创建结构。
推荐阅读
- c# - EF 核心导航属性为空
- javascript - MomentJS - 获取日期范围给出一个月中的特定日期
- kubernetes - Airflow Kubernetes Executor pod 进入“NotReady”状态而不是被删除
- git - 使用 git ls-remote 显示除候选版本之外的所有标签
- ruby-on-rails - 无法加载此类文件 -- pty (LoadError) 开发环境设置
- r - 我有一个表由许多列中的许多样本组成,如何将每列中每个样本的值减去其列的平均值?
- r - 为什么 fct_inorder 没有按出现顺序显示我的因素?
- sql - 按非 id 字段分组
- javascript - 在手机上禁用 Slider Revolution,但在 ipad 和平板电脑上加载
- react-native - 按下 Backspace 后从焦点 TextInput 中删除状态