C++ 这个读取功能有什么问题?
很抱歉发布了一堆带有代码的文本,但我似乎无法理解为什么结构向量无法获取值C++ 这个读取功能有什么问题?,c++,C++,很抱歉发布了一堆带有代码的文本,但我似乎无法理解为什么结构向量无法获取值 void load() { list.clear(); vector<string> tag; vector<int> points; ifstream scorelist, namelist; scorelist.open("score.txt"); if (scorelist.is_open()) { int scores;
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>
}
}
void load(){
list.clear();
向量标签;
矢量点;
ifstream评分表、姓名表;
scorelist.open(“score.txt”);
if(scorelist.is_open()){
智力得分;
while(scorelist.good()){
cin>>得分;
得分。推回(分数);
}
scorelist.close();
}
namelist.open(“name.txt”);
if(namelist.is_open()){
字符串文本;
while(namelist.good()){
getline(名称列表、文本);
标记。向后推(文本);
}
namelist.close();
}
players games;//使用元素字符串名称、int score来播放结构
对于(int i=0;i<10;i++){
games.score=分数[i];
games.name=tag[i];
list.push_back(游戏);//list是一个向量
}
}
例如,如果我将编写
cout,您将从cin
读取分数,而不是从scorelist
流读取分数。更改:
cin >> scores;
致:
您是否尝试在调试器中单步执行代码?文件是否正确打开?您从未检查文件是否真的可以打开。您应该添加一个else
分支,并在那里打印一条错误消息。“文本墙”这当然不是这里所说的文本墙。文本和代码的长度很好。谢谢大家,真的很奇怪,评分表>>评分;我并没有单独修复它,但我还必须添加另外两个语句。再次感谢!这一点很好,但除非有其他问题,否则它将导致无限循环
scorelist >> scores;