C++文件操作——判断文件是否为空
1、文件不存在 is_open()
用 is_open() 函数判断文件打开的路径是否正确,返回值为bool类型:
- true:表示文件打开成功;
- false:表示文件打开失败。
通常用读文件操作 用 !is_open() 判断文件是否存在
因为,C++读文件时,文件不存在,读文件中内容会报错
ifstream ifs;
ifs.open("文件路径", ios::in);
if (!ifs.is_open())
{
cout << "文件不存在!" << endl;
ifs.close();
return;
}
ifs.close();
2、文件存在但为空
文件为空时,文件末尾会有一个字符,需要将这个字符读出在用 eof() 判断是否为空。(为什么会有一个字符我也不知道)
ifstream ifs;
ifs.open("文件路径", ios::in);
char c;
ifs >> c;
if (ifs.eof())
{
cout << "文件为空!" << endl;
ifs.close();
return;
}
ifs.close();