核心思想

对于游程编码的解密,和游程编码的编写是一个思路。重点的就是在填补的时候的一个逻辑转变。我相信你是没有问题的。(当然如果你还觉得没有思路,你可以再看看我写的代码。每个块的含义。以及再看一下我之前写的编码,哪里有详细的思维)

源码

//游程编码解密
#include<stdio.h>
#include <string.h>
#include <stdlib.h>
void shifang(void *space){free(space);
}
void *fun(void *raw,int *num){unsigned char *dest=NULL;unsigned char *src=(unsigned char *)raw;//寻找结果长度int count=0;int tmp=*num;for (int i = 1; i <tmp ; i=i+2) {count=count+src[i];}printf("This result length is %d\n",count);//在堆上申请空间来存储数据dest=(char *)malloc(count);*num=count;//填充数据tmp=0;int foo=1;int j;for ( j = 0; j <count ; ++j) {if (tmp==src[foo]){foo+=2;tmp=0;}dest[j]=src[foo-1];tmp++;}//收尾j++;dest[j]=0;return dest;
}
int main(){char raw[]={0x11,0x3,0x22,0x02,0x34,0x01};int num=strlen(raw);char *result;result=fun(raw,&num);if (result==NULL){printf("Data error!\n");return -1;}for (int i = 0; i <num ; ++i) {printf("0x%02x\t",result[i]);}printf("\n");shifang(result);return 0;
}

输出结果:

游程编码解密(C语言详解)相关推荐

  1. elgamal算法加解密C语言,详解ElGamal加密算法

    ElGamal公钥密码体制是1984年斯坦福大学的Tather ElGamal提出的一种基于离散对数问题困难性的公钥体制.1985年,Tather ElGamal利用ElGamal公钥密码体制设计出E ...

  2. 克鲁斯卡尔算法c语言,Kruskal算法(一)之 C语言详解

    最小生成树 在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树. 例如,对于如上图G4所示的连通网可以有多棵权值总和 ...

  3. Drools 规则语言详解(上)

    http://www.blogjava.net/guangnian0412/archive/2006/06/09/51574.html http://www.blogjava.net/guangnia ...

  4. c++指针详解_c语言详解sizeof

    一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等. 它并不是函数. sizeof操作符以字节形式给出了其操作数的存储大小. 操作数可以是一个表达式或括在括 ...

  5. 排座系统c语言,2008noip排座位C语言详解.doc

    2008noip排座位C语言详解 2008noip排座位C语言详解 2.排座椅 (seat.pas/c/cpp)D对同学上课时会交头接耳.同学们在教室中坐成了M行N列,坐在第i行第j列 的同学的位置是 ...

  6. DES加解密算法原理详解与实现

    [DES密码编写] 1. Equipment (1) operating system version :WIN 10 (2) CPU instruction set: x 64 (3) softwa ...

  7. 有向图邻接矩阵c语言编程,邻接矩阵有向图(一)之 C语言详解

    本章介绍邻接矩阵有向图.在"图的理论基础"中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了.和以往一样,本文会先给出C语言的实现:后续再分别给出C++和Java版本的实 ...

  8. 邻接矩阵用c语言,邻接矩阵无向图(一)之 C语言详解

    本章介绍邻接矩阵无向图.在"图的理论基础"中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了.和以往一样,本文会先给出C语言的实现:后续再分别给出C++和Java版本的实 ...

  9. 如何用c语言编写stm32的程序吗,STM32入门C语言详解

    <STM32入门C语言详解>由会员分享,可在线阅读,更多相关<STM32入门C语言详解(6页珍藏版)>请在人人文库网上搜索. 1.最新 料推荐阅读 flash : 芯片内部存储 ...

  10. 顺序栈基本操作(入栈和出栈)C语言详解

    #include <stdio.h> #include <stdlib.h> /*顺序栈基本操作(入栈和出栈)C语言详解栈的具体实现(1)顺序栈(2)链栈栈的应用(1)回退 ( ...

最新文章

  1. eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析...
  2. 的远程烧写_农用气象环境远程监测管理系统
  3. VTK:图片之ImageMandelbrotSource
  4. OnDraw与OnPaint有什么区别
  5. python画PR曲线(precision-recall曲线)
  6. 【C语言】创建一个函数,利用该函数将字符串中的小写字母转换为大写字母
  7. WriteFreely:创建博客,建立社区
  8. 云端远程Ubuntu系统进行无桌面Web浏览器自动化测试
  9. linux SIGHUP
  10. iservice list方法_扩展IList对象,实现深拷贝扩展方法
  11. phpMyAdmin出现错误 Access denied for user 'root'@'localhost' (using password: NO)
  12. mysql复制表语句
  13. 第3章第11节:如何将众多图片制作成照片墙并作为幻灯片的背景 [PowerPoint精美幻灯片实战教程]
  14. 北京科技大学与北京工业大学计算机,请问北京工业大学和北京科技大学2010年计算机专业研究生的录取分数线是多少?谢谢!...
  15. 100M宽带的网络下载速度可以达到多少
  16. 程序员:耐得住寂寞,禁得住诱惑
  17. 【单片机原理及其应用】第五章定时器的介绍和习题分析
  18. Go语言--反射(reflect)
  19. DigiPCBA设计工具初体验!!!
  20. QT_disconnect

热门文章

  1. js 下载文件、音频、视频
  2. uml 流程图符号 含义
  3. 安全浏览器版本过低?该升级浏览器内核了
  4. PHP:解析url和查询参数query
  5. java包含罗马字符_leetcode.字符串.12整数转罗马数字-Java
  6. 罗马java_罗马数字转换工具-java
  7. 卫星控制类操作系统VAX/VMS简介
  8. 关于文件的MIME类型
  9. ElasticSearch安装
  10. 是时候更换你的无线路由器(wifi暴力破解)