您的位置:首页 > 编程语言 > C语言/C++

C++学习之旅eof()、fail()

2016-04-12 20:47 323 查看

eof()

EOF 是 End Of File 的缩写。

在C语言中,它是在标准库中定义的一个宏,值为-1。

C语言中常利用下面这种方法,来判断输出文件内容。

例如:

while ((c = fgetc(fp)) != EOF)
{
putchar (c);
}


那么在C++中,这种方式便得到了简化,因为有一个eof()函数到文件结尾可以返回true,而之前返回的均为false,下面的while语句也从while(true)变为while(false),从而循环结束。

例如:

fstream fp;
char ch;
while (!fp.eof())
{
fin.get(ch);
cout << ch;
}


fail()

fail()用来判断一个流是否“坏”掉了。如果failbit、badbit中任意一种或两种被设置,则fail()返回true,否则返回false。

在打开了一个文件过后,通常使用fail()函数对其进行检测

例如:

fstream fd;
fd.open("test.txt");
if ( fd.fail())
{
cout << "Error in opening the file !" << endl;
}
else
{
....
}


如文件不存在,文件被其他程序占用,均会导致失败。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: