在C++中,ifstream
对象是用于读取文件的。当文件读取完毕时,文件结束状态被设置为true
。要重置ifstream
对象的文件结束状态,可以使用clear()
方法。以下是一个示例:
#include<iostream>
#include <fstream>
int main() {
std::ifstream file("example.txt");
if (file.is_open()) {
std::string line;
while (getline(file, line)) {
std::cout<< line<< std::endl;
}
// 文件结束状态为 true
if (file.eof()) {
std::cout << "End of file reached"<< std::endl;
}
// 重置文件结束状态
file.clear();
file.seekg(0, std::ios::beg);
// 从头开始重新读取文件
while (getline(file, line)) {
std::cout<< line<< std::endl;
}
}
return 0;
}
在这个示例中,我们首先打开一个名为example.txt
的文件,并逐行读取其内容。当文件读取完毕时,我们检查文件结束状态。然后,我们使用clear()
方法重置文件结束状态,并使用seekg()
方法将文件指针移回文件开头。最后,我们再次逐行读取文件的内容。
领取专属 10元无门槛券
手把手带您无忧上云