如何在二进制文件中查找ANSI字符串?

hyp*_*not 1 c++ string lookup search binaryfiles

我想使用C++找到二进制文件中第一次出现ANSI字符串.

我知道字符串类有一个方便的查找功能,但我不知道如果文件很大,我怎么能用它,比如5-10 MB.

我是否需要先将整个文件复制到内存中的字符串中?如果是,我如何确保在复制时没有任何二进制字符被破坏?

或者是否有更有效的方法来实现它,而无需将其复制到字符串中?

ild*_*arn 5

我是否需要先将整个文件复制到内存中的字符串中?

没有.

或者是否有更有效的方法来实现它,而无需将其复制到字符串中?

当然; 打开与该文件std::ifstream(一定要在打开二进制模式,而不是文本模式),创建一对multi_pass迭代器(从升压.)流周围,然后搜索以字符串std::search.