C ++检测文件结束

时间:2010-04-14 03:18:54

标签: c++

我有一个C ++程序,它从一个文件中读取信息,该文件存储由“$$$$”分隔的信息。该文件的外观示例如下:

abc
bcd
$$$$
def
$$$$
qwe
gfh
$$$$

如何在不使用eof()函数的情况下检测文件已结束?

我这样设置,

getline(sin,temp)
if (temp=="$$$$")
{
}

在读完最后一组4美元后,如何查看下一行以确保没有开始另一组数据,并且该文件已经结束?如果文件确实已经结束,我打算使用布尔标志来终止while循环。

2 个答案:

答案 0 :(得分:7)

while (getline(sin, temp))
{
    // use temp.
}

文件结束后,你将退出循环。

答案 1 :(得分:2)

我不确定为什么你不能使用eof(),但你可以先获取文件大小,然后只读取那么多字节。