我有一个大小约为700 MB的二进制文件(非文本数据);我想要做的是搜索在整个文件中随机位置出现的特定字节模式。例如:
也就是说,搜索存储在文件中的表格,其中0x55是分隔符,然后保存表格中包含的数据或以其他方式操作它。
最好的选择是逐个字节地查找每个字节,然后向前查看两个字节,以查看该值是否为0x55,如果是,则再次向前查看以确认该位置是否存在表格吗?
加载整个文件?fseek?缓冲区块,一次一个字节进行搜索?
使用C或C ++,找到这个大文件中的模式并进行搜索的最佳方法是什么?
0x?0x?0x55 0x?0x?0x55 0x?0x?0x55 0x?0x?0x55
等等,连续出现50多个字节。我要搜索的模式是两个随机字节序列,并且每两个字节都以0x55作为分隔符。也就是说,搜索存储在文件中的表格,其中0x55是分隔符,然后保存表格中包含的数据或以其他方式操作它。
最好的选择是逐个字节地查找每个字节,然后向前查看两个字节,以查看该值是否为0x55,如果是,则再次向前查看以确认该位置是否存在表格吗?
加载整个文件?fseek?缓冲区块,一次一个字节进行搜索?
使用C或C ++,找到这个大文件中的模式并进行搜索的最佳方法是什么?