gpt4 book ai didi

c++ - 尝试从文件中读取对象并正确获取一些记录后,我的程序检测到eof,剩下许多记录

转载 作者:行者123 更新时间:2023-12-02 10:27:40 25 4
gpt4 key购买 nike

我正在尝试将文件中的记录读入对象。但是即使正确读取了一些记录,程序仍会检测到文件结尾,即使文件中还有更多记录。我已使用相同类的对象将记录写在文件上,但我不明白发生了什么问题。
这是我的代码-

    int main()
{
long int n=0;
class_name objt[100];
ifstream fl;
fl.open(filename);
cout<<"Scanning file"<<endl<<"Please Wait"<<endl;
while(true)
{
fl.read((char*)&objt[n], sizeof(objt[n]));

if(fl.eof())
{
cout<<endl<<"END OF FILE"<<endl<<"Press any key to continue";
cin.get();
break;
}
n++;
}
fl.close();
cout<<endl<<"Scanning Complete!"
这是我正在使用的类(class)-
class class_name
{
public:
char name[20];
double cn ;
int code;
int unit;
};
附言我想将所有记录保存到对象数组中,以便对数组进行排序

最佳答案

如果要执行二进制I / O,则必须以二进制模式打开文件(用于读取和写入)

        ifstream fl;
fl.open(filename, ios_base::binary);

关于c++ - 尝试从文件中读取对象并正确获取一些记录后,我的程序检测到eof,剩下许多记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63611285/

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