我有一个~700 MB的二进制文件(非文本数据); 我想要做的是搜索整个文件中随机位置发生的特定字节模式.例如0x? 0x? 0x55 0x? 0x? 0x55 0x? 0x? 0x55 0x? 0x? 0x55
依次为50个左右的字节.我要搜索的模式是两个随机字节的序列,每两个字节出现0x55.
也就是说,搜索存储在文件中的表,其中0x55是分隔符,然后保存表中包含的数据或以其他方式操纵它.
最好的选择是简单地一次遍历每个字节,然后向前看两个字节以查看值是否为0x55,如果是,则再次向前看以确认该位置是否存在于该位置?
加载整个东西?FSEEK?缓冲区块,一次搜索那一个字节?
查看这个大文件,并使用C或C++查找模式的最佳方法是什么?
我是一名商务专业,三分之二通过我的学位课程,有一点PHP经验,参加过一门C++入门课程,现在后悔选择了编程/计算机科学的业务.
我有兴趣学习更高级的编程; 特别是C,并最终进展到使用CUDA架构进行人工神经网络数据分析(不是用于AI,视觉或语音处理,而是用于查找大数据集和一般数据/统计分析中的数据点之间的相关性).
关于我应该如何开始学习C的任何建议?以及用于分析数据的ANN /贝叶斯技术?那里有很多书,我不知道该选择什么.
由于CUDA是相当新的,因此似乎没有太多学习者友好(即愚蠢的)材料.除了NVIDIA文档之外,CUDA还有学习资源吗?
此外,您会向我推荐哪些资源来讨论GPGPU计算和大规模并行编程,这对我有帮助?