【发布时间】:2018-09-21 03:02:10
【问题描述】:
大家晚上好,
我正在尝试从以下格式的文本文件源中读取:
doomsday [villain]
Doomsday is a fictional supervillain appearing in American comic books published by DC Comics.
superman [hero]
Superman is a fictional superhero appearing in American comic books published by DC Comics.
这是两个条目。我需要提取名称、角色和描述,以便将其放入对象中,例如
DCCharacters newCharacter(characterName, characterRole, description);
到目前为止我的代码:
ifstream fileToOpen(fileSrc);
if (fileToOpen.is_open()) {
string line;
string charName;
string charRole;
string charDesc;
while (!fileToOpen.eof()) {
getline(fileToOpen, line);
charName = line;
if (line == "") continue; // Skip blank lines
getline(fileToOpen, line);
charDescription = line;
if (line == "") continue;
DCCharacters newCharacter(characterName, characterRole, description);
this->DCCharsVector.push_back(newCharacter);
}
// Close the file
fileToOpen.close();
}
}
如您所见,我可以在一行中提取角色名称和角色,在另一行中提取描述,但我现在不知道如何将名称和角色分成两个单独的变量,以便像我需要的那样将它们放入对象中。
我期待任何帮助。
【问题讨论】:
-
在使用
line的内容之前,你应该检查getline()的返回码。您应该考虑为您的班级实现operator>>()重载...
标签: c++ c++11 visual-c++ c++14