我有一个C ++程序,它从一个文件中读取信息,该文件存储由“$$$$”分隔的信息。该文件的外观示例如下:
abc
bcd
$$$$
def
$$$$
qwe
gfh
$$$$
如何在不使用eof()函数的情况下检测文件已结束?
我这样设置,
getline(sin,temp)
if (temp=="$$$$")
{
}
在读完最后一组4美元后,如何查看下一行以确保没有开始另一组数据,并且该文件已经结束?如果文件确实已经结束,我打算使用布尔标志来终止while循环。
答案 0 :(得分:7)
while (getline(sin, temp))
{
// use temp.
}
文件结束后,你将退出循环。
答案 1 :(得分:2)
我不确定为什么你不能使用eof()
,但你可以先获取文件大小,然后只读取那么多字节。