在C++中,可以通過繼承和重載標(biāo)準(zhǔn)庫中的文件流類(如ifstream和ofstream)來自定義文件讀取策略和規(guī)則。以下是一個簡單的示例:
#include <iostream>
#include <fstream>
class MyFileReader : public std::ifstream {
public:
MyFileReader(const char* filename) : std::ifstream(filename) {}
// 自定義文件讀取規(guī)則
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方法來定義文件的讀取規(guī)則。在main函數(shù)中,我們創(chuàng)建了一個MyFileReader對象并調(diào)用readData方法來讀取文件中的數(shù)據(jù)。通過這種方式,我們可以自定義文件讀取的規(guī)則和策略。