ZLIB解压缩如何搞?我搜索到以前的贴子的程序,执行时出错。

rocsoar 2002-07-05 11:03:36
我完全照搬下面的源码:
void __fastcall TForm1::Button2Click(TObject *Sender) // 解压
{
int count;
TMemoryStream *sm=new TMemoryStream;
sm->LoadFromFile("c:\\test123.dat");
sm->ReadBuffer(&count,sizeof(count)); // 源流中取长度
char *buffer=new char[count];

TDecompressionStream *cm;
cm=new TDecompressionStream(sm); // 从sm的当前位置起解压?
cm->ReadBuffer(buffer,count); // 解压的流读入缓冲
delete cm; // 先删cm

TMemoryStream *dm=new TMemoryStream; // 将buffer写入文件
dm->WriteBuffer(buffer,count);
dm->Position=0;
dm->SaveToFile("c:\\test1234.dbf");
delete buffer;

delete sm;
delete dm;

ShowMessage("Decompressed!");
}

第一次执行时,提示我没找到zlib.pas,然后我定位到zlib.pas之后,出现错误是在
cm=new TDecompressionStream(sm); 这一句,说不能新建。
我是在BCB6下。
请问如何解决?
...全文
23 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qibo999 2003-05-06
  • 打赏
  • 举报
回复
快结贴吧,这么久了!
rocsoar 2002-07-05
  • 打赏
  • 举报
回复
问题已经解决了。
我把 TDecompressionStream *cm;
修改成
Zlib::TDecompressionStream *cm;
之后执行成功。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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