-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。文本和代碼的長度很好。 –