【发布时间】:2013-06-07 08:56:57
【问题描述】:
我正在寻找以二进制格式读取数据文件的最有效方法,然后搜索文件中出现的模式(标题)。我已使用 cplusplus.com 示例将文件读入内存:
#include <iostream>
#include <fstream>
using namespace std;
ifstream::pos_type size;
char * memblock;
int main () {
ifstream file ("example.bin", ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = file.tellg();
memblock = new char [size];
file.seekg (0, ios::beg);
file.read (memblock, size);
file.close();
}
else cout << "Unable to open file";
return 0;
}
首先我想知道这是否是为我的目的做这件事的最佳方式。如果是,我无法找到如何搜索 0x54 0x51 之类的模式,或者它在 memblock char 数组中的二进制等价物。
【问题讨论】:
-
您在寻找位模式还是字节模式?
0xA8 0xA2匹配吗? (左移 1)? -
@dahma 看起来您是 Stack Overflow 的新手。不要忘记标记答案。
标签: c++ search binaryfiles