-1
对不起,用代码发布了一段文字,但我似乎无法弄清楚为什么struct向量没有获取值。这个读取功能有什么问题?
void load() {
list.clear();
vector<string> tag;
vector<int> points;
ifstream scorelist, namelist;
scorelist.open("score.txt");
if (scorelist.is_open()) {
int scores;
while (scorelist.good()) {
cin >> scores;
points.push_back(scores);
}
scorelist.close();
}
namelist.open("name.txt");
if (namelist.is_open()) {
string text;
while (namelist.good()) {
getline(namelist, text);
tag.push_back(text);
}
namelist.close();
}
players games; //Players a struct with elements string name, int score
for (int i = 0; i < 10; i++) {
games.score = points[i];
games.name = tag[i];
list.push_back(games); //list is a vector<players>
}
}
如果我的例子就是在这里写cout << list[0].name
什么也没有发生,把txt的具有价值。
您是否尝试通过代码在调试器中的步骤?文件是否正确打开? –
你永远不会检查文件是否真的可以打开。你应该添加一个'else'分支并在那里输出错误信息。 –
_“文字墙”_这当然不是文字的_wall。文本和代码的长度很好。 –