在C++中,可以通過繼承和重載標準庫中的文件流類(如ifstream和ofstream)來自定義文件讀取策略和規則。以下是一個簡單的示例:
#include <iostream>
#include <fstream>
class MyFileReader : public std::ifstream {
public:
MyFileReader(const char* filename) : std::ifstream(filename) {}
// 自定義文件讀取規則
void readData() {
std::string data;
while (std::getline(*this, data)) {
std::cout << "Read data: " << data << std::endl;
}
}
};
int main() {
MyFileReader fileReader("example.txt");
if (fileReader.is_open()) {
fileReader.readData();
fileReader.close();
} else {
std::cout << "Error opening file." << std::endl;
}
return 0;
}
在上面的示例中,我們繼承了std::ifstream類并添加了一個自定義的readData方法來定義文件的讀取規則。在main函數中,我們創建了一個MyFileReader對象并調用readData方法來讀取文件中的數據。通過這種方式,我們可以自定義文件讀取的規則和策略。