C ++在XCode上读取值到数组中

时间:2013-05-15 02:42:29

标签: c++ for-loop ifstream eof getline

我无法弄清楚为什么以下代码输出不正确。它应该读一个名字并成绩为一系列学生的入口。由于某种原因,在实际条目之间存在幻像条目,如输出中没有名称前面的名称所示。:

fin.open("data.txt");
for ( int i=0 ; getline(fin, info[i].name) && (i<SIZE) ; i++){
    fin.clear();
    fin >> info[i].quiz.gradeone;
    fin >> info[i].quiz.gradetwo;
    fin >> info[i].quiz.gradethree;
    fin.clear();
    numb++;
    cout << info[i].name << info[i].quiz.gradeone << info[i].quiz.gradetwo 
         << info[i].quiz.gradethree << endl;
}
fin.close();

以下是数据:

Jeramy Puleo
45 99 101
Liz Kershaw
55 70 35
Sherrill Dykes
88 94 100
Emmitt Auclair
89 94 88
Nana Bassler
22 55 88

和(错误的)输出:

Jeramy Puleo 45 99 101
 0 32767 0
Liz Kershaw 55 70 35
 0 0 0
Sherrill Dykes 88 94 100
 0 0 0
Emmitt Auclair 89 94 88
 0 0 0
Nana Bassler 22 55 88

0 个答案:

没有答案