eof造成的死循环
int main()
{
using namespace std;
const char filename[] = "c:\\2.txt";
ifstream fin;
string temp;
fin.open(filename);
//if (!fin.is_open())
//{
// cout << "不能打开文件"<< filename << endl;
// exit(EXIT_FAILURE);
//}
int count = 0;
while(fin.eof()!=EOF)
{
count++;
getline(fin, temp);
cout<<temp<<endl;
}
fin.close();
cout << "文件" << filename << "共有"
<< count << "行。\n";
return 0;
}
这个代码会造成死循环,错误原因:1.没有判断是否存在;2.由于eof返回false.所以导致死循环.
eof造成死循环
最新推荐文章于 2021-12-10 16:56:50 发布