c++ - 从 C++ 文件中快速读取特定单词

标签 c++ performance

我的经理告诉我创建一个测试,我需要测试文件中是否存在特定单词。问题是文件可能非常大,如果测试运行很长时间,那么在回归测试期间它将失败。所以我想知道标准 C++ 中是否有任何方便的 API 可以快速告诉我这个词是否存在。我不想知道这个词的位置。该词位于文件开头附近的某个位置,但其确切位置未知。 在这方面有什么帮助吗? 谢谢。

最佳答案

如果文件没有特定的结构,除了包含单词(以任何顺序),唯一的解决方案是线性搜索,这意味着读取整个文件。如果你知道这个词只能在开头附近,那么你只需要搜索到能找到这个词的最远点。

如果这还不够快,您要么必须以某种方式构建文件(排序等),要么必须加快读取过程本身的速度(例如使用 mmap)。

关于c++ - 从 C++ 文件中快速读取特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335845/

相关文章:

c++ - 执行 C++ 中存储为字符串的函数

python - 操作 numpy 数组

java - 在 SQLite 数据库中按数组存储数组

Python 脚本策略 : running script twice vs excec

c++在多个进程之间共享单个类对象

c++ - 写入文件时断电

c++ - 在 C++ 中从可执行路径(或从 hWnd,或从 pid)获取程序名

c++ - 当我0-初始化一个vector时,它和calloc有同样的效果吗?

javascript - socket.io 自定义事件的确认

sql-server - 通过在 group by 子句中使用的字段上设置索引来提高性能?