gpt4 book ai didi

c++ - fstream 和 eof() 的问题(总共花了 5 个小时进行调试、搜索解决方案和测试)

转载 作者:行者123 更新时间:2023-11-28 07:32:20 33 4
gpt4 key购买 nike

<分区>

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。我只是不知道我做错了什么。假设我的客户类工作正常,我已经在这个循环之外进行了测试,它工作得很好。

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com