CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
(图)邪恶的韩国UMPC 使用 Java 编写数据库应用新规范
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  工具平台和程序库

谁有c++ zip 压缩源程序

楼主lilin_2005(lihua)2006-12-01 08:49:56 在 C/C++ / 工具平台和程序库 提问

c++   zip   压缩源程序   可在VC   下编译. 问题点数:20、回复次数:4Top

1 楼akirya(坏[其实偶不是什么所谓的坏人])回复于 2006-12-01 09:02:15 得分 0

用zlib吧Top

2 楼todototry(来csdn,学会扯淡了...)回复于 2006-12-01 09:31:04 得分 0

okokok  
  okokok  
  okokok  
  okokok  
  okokok  
  okokokTop

3 楼playboxer(大漠苍狼)回复于 2006-12-13 16:51:59 得分 0

#include   <windows.h>  
  #include   <stdlib.h>  
  #include   <stdio.h>  
   
  /*  
  #define   COMPRESSION_FORMAT_LZNT1         0x0002  
  #define   COMPRESSION_ENGINE_STANDARD   0x0000   //   Standart   compression  
  #define   COMPRESSION_ENGINE_MAXIMUM     0x0100   //   Maximum   (slowest   but   better)  
  */  
   
  #define   CMP_FRM           COMPRESSION_FORMAT_LZNT1|COMPRESSION_ENGINE_MAXIMUM  
   
  typedef   DWORD   (__stdcall   *RtlCompressBuffer_Fn)(  
                                          IN   ULONG         CompressionFormat,  
                                          IN   PVOID         SourceBuffer,  
                                          IN   ULONG         SourceBufferLength,  
                                          OUT   PVOID       DestinationBuffer,  
                                          IN   ULONG         DestinationBufferLength,  
                                          IN   ULONG         Unknown,  
                                          OUT   PULONG     pDestinationSize,  
                                          IN   PVOID         WorkspaceBuffer   );  
   
  typedef   DWORD   (__stdcall   *RtlDecompressBuffer_Fn)(  
                                          IN   ULONG         CompressionFormat,  
                                          OUT   PVOID       DestinationBuffer,  
                                          IN   ULONG         DestinationBufferLength,  
                                          IN   PVOID         SourceBuffer,  
                                          IN   ULONG         SourceBufferLength,  
                                          OUT   PULONG     pDestinationSize   );  
   
  typedef   DWORD   (__stdcall   *RtlGetCompressionWorkSpaceSize_Fn)(  
                                          IN   ULONG         CompressionFormat,  
                                          OUT   PULONG     pNeededBufferSize,  
                                          OUT   PULONG     pUnknown   );  
   
  int   main   (void)  
  {  
        char   dst[512]   =   {0};  
        char   buf[]   =   "abcabcabcabcabcabcabc";  
        HANDLE   hDLL;  
        RtlCompressBuffer_Fn   fcmp;  
        RtlDecompressBuffer_Fn   fdcp;  
        RtlGetCompressionWorkSpaceSize_Fn   fgcw;  
        DWORD   dw,   xx,   rc;  
        void   *tmpMem;  
        register   unsigned   char   i;  
   
        hDLL   =   LoadLibrary   ("ntdll.dll");  
        if   (   hDLL   !=   NULL   )  
        {  
            fcmp   =   (RtlCompressBuffer_Fn)   GetProcAddress(hDLL,   "RtlCompressBuffer");  
            fdcp   =   (RtlDecompressBuffer_Fn)   GetProcAddress(hDLL,   "RtlDecompressBuffer");  
            fgcw   =   (RtlGetCompressionWorkSpaceSize_Fn)   GetProcAddress(hDLL,   "RtlGetCompressionWorkSpaceSize");  
   
            if   (   fcmp   &&   fdcp   &&   fgcw)  
            {  
                  rc   =   (*fgcw)(CMP_FRM,   &dw,     &xx);  
                  tmpMem   =   LocalAlloc(LPTR,   dw);  
                  rc   =   (*fcmp)(CMP_FRM,   buf,   sizeof(buf),   dst,   sizeof(dst),   xx,   &dw,   tmpMem);  
                  LocalFree(tmpMem);  
                  for   (i   =   0;   i<   dw;   i++)   printf("%c",   (BYTE)   dst[i]);   printf("n--n");  
                  for   (i   =   0;   i<   sizeof(buf);   i++)   buf[i]   =   0;  
   
                  rc   =   (*fdcp)(CMP_FRM,   buf,   sizeof(buf),   dst,   dw,   &xx);  
                  for   (i   =   0;   i<   xx;   i++)   printf("%c",   (BYTE)   buf[i]);   printf("n");  
            }  
   
            FreeLibrary(hDLL);  
        }  
   
        return   0;  
  }Top

4 楼xuzheng318(忧郁王子)回复于 2006-12-13 17:09:51 得分 20

http://www.vckbase.com/document/viewdoc/?id=1265  
   
  楼主参考此文!Top

相关问题

关键词

得分解答快速导航

  • 帖主:lilin_2005
  • xuzheng318

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo