如何在 C++ 中读取一个空文件?
我用什么while循环条件来读取空文件?
因为!fin.eof()
条件不起作用并创建了一个无限循环。
我使用 turbo c++,我有 2 个文件。音乐库文件已经有一些专辑。我需要过滤掉并删除重复的专辑并将其添加到过滤器文件中。
我的代码如下:
void albumfilter()
{
song s;
album a;
ifstream fin;
fstream finout;
fin.open("Musiclibrary.txt", ios::binary);
while(!fin.eof())
{
fin.read((char*)&s,sizeof(s));
if(fin.eof())
break;
finout.open("Filteralbum.txt", ios::binary| ios::in| ios::out);
while(!finout.eof())
{
finout.read((char*)&a, sizeof(a));
if(strcmp(a.getfilter_albumname(), s.getalbum())!=0)
{
strcpy(a.getfilter_albumname(),s.getalbum());
finout.write((char*)&a, sizeof(a));
finout.close();
}
}
}
fin.close();
}
这段代码正确吗?