Chinaunix首页 | 论坛 | 博客
  • 博客访问: 293361
  • 博文数量: 70
  • 博客积分: 485
  • 博客等级: 下士
  • 技术积分: 632
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-25 08:55
文章分类

全部博文(70)

文章存档

2014年(47)

2013年(1)

2012年(22)

我的朋友

分类: C/C++

2014-04-10 18:55:46

这是压缩代码:

点击(此处)折叠或打开

  1. int Compress( char *ppathname, char *pfilename )
  2. {
  3.     int iRet = 0;
  4.     char command[128 + 1];

  5.     iRet = SplitFilename( pfilename, ppathname );
  6.     if (iRet)
  7.     {
  8.        return -1;
  9.     }

  10.     memset(command, 0x00, sizeof(command));

  11.     strcpy( command, "gzip " );

  12.     strcat( command, pfilename );

  13.     /*printf("command:[%s]\n", command);*/
  14.     iRet = system( command );
  15.     if ( 127 == iRet )
  16.     {
  17.         return -1;
  18.     }else if( -1 == iRet )
  19.     {
  20.         return -1;
  21.     }

  22.     return 0;
  23. }
这是解压代码:

点击(此处)折叠或打开

  1. int Extract( char *pfilename, char *ppathname )
  2. {
  3.    int iRet = 0;
  4.    char command[128 + 1];
  5.    
  6.    iRet = SplitFilename( pfilename, ppathname );
  7.    if (iRet)
  8.    {
  9.       return -1;
  10.    }

  11.    memset(command, 0x00, sizeof(command));

  12.    strcpy(command, "gzip -d ");
  13.   
  14.    strcat(command, pfilename);

  15.    iRet = system( command );
  16.    if (127 == iRet)
  17.    {
  18.       return -1;
  19.    } else if (-1 == iRet)
  20.    {
  21.       return -1;
  22.    }

  23.    return 0;
  24. }

对文件目录进行分割

点击(此处)折叠或打开

  1. int SplitFilename( char *filename, char *ppathname )
  2. {
  3.       char *p=NULL;

  4.       strtok(ppathname, "/");

  5.       while (p=strtok(NULL, "/"))
  6.       {
  7.         strcpy(filename,p);
  8.       }

  9.       return 0;
  10. }


阅读(1468) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~