我的经理告诉我创建一个测试,我需要测试文件中是否存在特定单词。问题是文件可能非常大,如果测试运行很长时间,那么在回归测试期间它将失败。所以我想知道标准 C++ 中是否有任何方便的 API 可以快速告诉我这个词是否存在。我不想知道这个词的位置。该词位于文件开头附近的某个位置,但其确切位置未知。 在这方面有什么帮助吗? 谢谢。
最佳答案
如果文件没有特定的结构,除了包含单词(以任何顺序),唯一的解决方案是线性搜索,这意味着读取整个文件。如果你知道这个词只能在开头附近,那么你只需要搜索到能找到这个词的最远点。
如果这还不够快,您要么必须以某种方式构建文件(排序等),要么必须加快读取过程本身的速度(例如使用 mmap
)。
关于c++ - 从 C++ 文件中快速读取特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335845/