brew sdk里有解压缩的api吗?

nuist320 2010-03-16 10:33:05
各位大侠 不知道brew的api里面有没有api能解压缩文件
比如我有一个zip或者rar文件 或者其他压缩格式的压缩包,我如何解压出来!!!


请各位高手指教。。。。。 在线等答案
...全文
725 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 strayedbird 的回复:]
有,IUnzipAStream
[/Quote]
是的
nuist320 2010-03-16
  • 打赏
  • 举报
回复
IUnzipAStream 到时看到了!!试了好长时间就是不知道怎么正确使用
下面是我使用的代码:
uint32 nTmp, size, l;
byte *buf, *tmpbuf;
void * pbmSource = NULL;
byte *pDataBytes;
boolean bVal = TRUE;
if(NULL == (pbmSource=ISHELL_LoadResDataEx (mj->a.m_pIShell, res_file,
id, RESTYPE_IMAGE, NULL, &size)))
{
return NULL;
}
tmpbuf= (byte *)MALLOC(size-*((byte *)(pbmSource)));
MEMCPY(tmpbuf,(byte *)pbmSource+*((byte *)(pbmSource)),size-*((byte *)(pbmSource)));
IMEMASTREAM_Set(mj->memStream, tmpbuf, size-*((byte *)(pbmSource)), 0, FALSE);
l = (*((byte *)pbmSource+size-4))
+((*((byte *)pbmSource+size-3))<<8)
+((*((byte *)pbmSource+size-2))<<16)
+((*((byte *)pbmSource+size-1))<<24);
ISHELL_FreeResData (mj->a.m_pIShell, pbmSource);
buf= (byte *)MALLOC(l);
IUNZIPASTREAM_SetStream(mj->unzipStream, (IAStream *)mj->memStream);
nTmp = IUNZIPASTREAM_Read(mj->unzipStream, (void*)buf, l);
if(nTmp>0)
{
//*xsize = nTmp;
while(nTmp<l)
{
nTmp = IUNZIPASTREAM_Read(mj->unzipStream, (void*)(byte *)(buf+nTmp), l-nTmp)+nTmp;
}
*xsize = l>nTmp?nTmp:l;
pDataBytes = (byte *)(buf);
return buf;
}
else if((nTmp == AEE_STREAM_WOULDBLOCK)||(nTmp == 0))
{
FREE(buf);
return NULL;
}
return NULL;




求指教
strayedbird 2010-03-16
  • 打赏
  • 举报
回复
有,IUnzipAStream

975

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧