C++,使用I/O流 判定文件是否为空,如何做呢?

是这样的:
ifstream ifile; // 定义一个输入流,用于将文件中的数据读入到变量中.
ifile.open("d:\\message.txt");// 利用输入流打开一个文件,准备读取其中数据.
if (判断文件是否为空)
//问题在这里,我想判断打开的输入流文件是否为空,如果为空则执行1,否则执行2. 就是不知道括号内用什么I/O流函数能判断文件是否为空,求高手解答, 我用ifile.eof()作为判定条件,用! ifile.eof()作为判定条件在调试的时候都没有按预想的跳转,文件的close()操作都没有错误.
{ 1.... }
else
{ 2......}

你可以在open之后先ifile.peek();,之后再用ifile.eof()来检测。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-05
ifile.seekg(0, ios_base::end);
streamoff i = ifile.tellg();
if (i <= 0)
{
cout << "File is empty" << endl;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网