std::ifstream中good
时间: 2023-07-08 11:30:35 浏览: 125
在使用std::ifstream读取文件时,我们通常需要检查文件是否成功打开。可以使用std::ifstream::good()函数来检查文件是否成功打开。
std::ifstream::good()函数是一个成员函数,如果文件成功打开并且没有发生任何错误,则返回true,否则返回false。以下是一个示例代码:
```c++
#include <fstream>
#include <iostream>
int main() {
std::string filename = "example.txt";
std::ifstream file(filename);
if (file.good()) { // 文件成功打开
std::cout << "文件" << filename << "打开成功" << std::endl;
file.close();
} else { // 文件打开失败
std::cerr << "文件" << filename << "打开失败" << std::endl;
return 1;
}
return 0;
}
```
在上面的代码中,我们使用std::ifstream打开文件,然后使用std::ifstream::good()函数来检查文件是否成功打开。如果文件成功打开,我们会输出一条消息并关闭文件。如果文件打开失败,我们会输出一条错误消息并返回一个非零的值。
除了std::ifstream::good()函数外,还有其他一些用于检查文件状态的函数,例如std::ifstream::eof()函数用于检查文件是否到达文件末尾,std::ifstream::fail()函数用于检查最近一次输入操作是否失败等等。需要根据具体需求选择合适的函数来检查文件状态。