c++中把一个二进制文件以字符串形式打开。

打算在一个二进制文件中找到某个字符串(avi)的位置,因为原文件是二进制的,如果转化成字符串之后不能全部读出,只能读出一部分,因为原数据中有很多\0,请问有什么方法吗?
最新回答
等待亦是放下

2024-12-01 04:17:20

用sprintf函数,将二进制转换成字符串。
例如:buf是字符串,binbuf是二进制内容

sprintf(buf,"%02x%02x",binbuf[0],binbuf[1])
buf中就是转换好的字符串了
半袖桃花

2024-12-01 08:12:35

将二进制文件加载到buf指向位置然后部分char buf1[]={'a','v','i'}
最后用memcmp函数比较buf与buf1结果不为零将buf加1继续比较