尝试读取文件时,我有一个无限循环.文件从用户输入中保存,然后使用单独的功能进行读取,最后显示.
这是我的阅读功能.循环没有找到eof(); 从文件.我看不出是什么问题.没有编译器错误.
void read(HouseholdItems items[AMOUNT], fstream& myFile, fstream& yourFile)
{
myFile.open("insured.dat", ios::in | ios::binary); // Open myFile
yourFile.open("uninsured.dat", ios::in | ios::binary); // Open yourFile
for(int i = 0; i < AMOUNT; i++)
{
myFile.read(reinterpret_cast <char*>(&items[i]),sizeof(&items[i]));
yourFile.read(reinterpret_cast <char*>(&items[i]),sizeof(&items[i]));
for(i = 0; i < AMOUNT; i++)
{
while (myFile)
{
cout << "description: ";
cout << items[i].description << endl;
cout << "quantity: ";
cout << items[i].quantity << endl;
cout << "price: ";
cout << items[i].price << endl;
cout << "insured: ";
cout << items[i].insured << endl;
}
}
}
myFile.close();
yourFile.close();
}
Run Code Online (Sandbox Code Playgroud)
以下循环永远不会结束:不myFile对其体内进行修改:
while (myFile)
{
cout << "description: ";
cout << items[i].description << endl;
cout << "quantity: ";
cout << items[i].quantity << endl;
cout << "price: ";
cout << items[i].price << endl;
cout << "insured: ";
cout << items[i].insured << endl;
}
Run Code Online (Sandbox Code Playgroud)
您必须读取while循环内的文件才能结束.
此外,您很可能有一个变量名称冲突:您有两个for使用相同变量的循环i; 这可能不是你想要的.
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |