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