我无法在 C++11 中实现一个简单的文件解析器,它逐行读取文件并标记该行。它应该妥善管理其资源。解析器的用法应该是这样的:
Parser parser;
parser.open("/path/to/file");
std::pair<int> header = parser.getHeader();
while (parser.hasNext()) {
std::vector<int> tokens = parser.getNext();
}
parser.close();
所以Parser
班级需要一个成员std::ifstream file
(或std::ifstream* file
?)
1)构造函数应该如何初始化this->file
?
2)open
方法应该如何设置this->file
到输入文件?
3) 文件的下一行应该如何加载到字符串中?(这是你会使用的:)std::getline(this->file, line)
?
你能给点建议吗?理想情况下,您能否将类草拟为代码示例。