<分区>
int i = 0;
while(!fin.eof())
{
fin >> fname;
fin >> lname;
fin >> id;
customer[i].setFname(fname);
customer[i].setLname(lname);
customer[i].setId(id);
i++;
}
fin.close();
当我的程序到达此 while 循环的第四次迭代时(并用完我输入的 .txt 文件中的文本)visual studio 提示我:
program5.exe 中 0x754bc41f 处的未处理异常:Microsoft C++ 异常:std::ios_base::failure 位于内存位置 0x003ceb64..
我不知道为什么。我试过用 (fin >> x) 替换 !fin.eof() ,其中 x 是一个整数,我试过使用 do-while 而不是 while,我试过使用 get、getline。我认为我的 >> 运算符没有触发 eof 可能是个问题,所以我添加了 fin.peek();在循环的最后,所以它会在偷看时触发eof。我只是不知道我做错了什么。假设我的客户类工作正常,我已经在这个循环之外进行了测试,它工作得很好。