解压文件时处理前13个字节

来源:互联网 发布:ntfs for mac反激活 编辑:程序博客网 时间:2024/06/16 04:12
memcmp是比较内存区域buf1和buf2的前count个字节。该函数是按字节比较的


当buf1<buf2时,返回值<0
当buf1=buf2时,返回值=0

当buf1>buf2时,返回值>0

#define PACKET_FLAG_LENGTH 13

while (JieShouDaoDe_YaShuoShuJu.GetShuJU_NeiCun_DangQian_ZhiZhen() > PACKET_HEADER_LENGTH){char v10[PACKET_FLAG_LENGTH] = { 0 };CopyMemory(v10, JieShouDaoDe_YaShuoShuJu.GetShuJu(), );//判断数据头if (memcmp(m_PacketFlagData, v10, PACKET_FLAG_LENGTH) != 0){throw "Bad Buffer";}ULONG PackTotalLength = 0;CopyMemory(&PackTotalLength, JieShouDaoDe_YaShuoShuJu.GetShuJu(PACKET_FLAG_LENGTH),sizeof(ULONG));

压缩文件的格式为{【名字( 占5字节)】【压缩前长度 (占4字节)】【压缩后的长度 (占4字节)】【压缩的内容】}

解压时只需解压 压缩文件在偏移13个字节以后的数据

0 0
原创粉丝点击