我有一个文本文件,其中包含作者和作者撰写的书籍。我被分配编写一个程序,用户将提供作者的姓名。并且该程序必须打印该作者所写的所有书籍的名称。
我知道我应该使用 ifstream 来读取此信息。但是我怎样才能让我的程序不将整个文件读入内存(数组、 vector 等)来执行任何搜索查询?
解决这个问题的最佳方法是什么?我的程序也应该使用类。
最佳答案
我不知道整个答案,甚至不知道语法,但一个好的入门方法是您对输入文本文件的格式了解多少?它只是一个两列文件,例如:[作者书籍],由公共(public)分隔符分隔?在这种情况下,您可以构建一个遍历整个文件的循环,并仅将条目存储到与搜索字符串匹配的 vector 中。
关于c++ - ifstream 不占用内存的最佳读取方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12327239/