1、传入_T("AAAABBBBCC"),返回_T("AA AA BB BB CC")

CString FormatPacket(CString packet_str)
{
  packet_str.Replace(_T(" "),_T(""));
  CString packet_backspace_str;//带空格的包
  CString temp_str;//临时存一个十六进制
  int j = 0;
  /*这里加上空格*/
  for (int i = 0;i<packet_str.GetLength();i++)
    {
    temp_str = packet_str.GetAt(i++);
    temp_str += packet_str.GetAt(i);
    temp_str += _T(" ");
    packet_backspace_str += temp_str;
  }
  return packet_backspace_str;
}

2、传入_T("AAAABBBBCC"),返回_T("AAAABBBBCCXX"),XX是校验和

CString PutCheckByte(CString packet_str,BOOL RESULT4TAX)//
{
  CString temp_str;
  int packet_lenth_int = packet_str.GetLength();
  unsigned short sum =0;
  for(int i=0;i<packet_lenth_int;i++)
    {
    temp_str = packet_str.GetAt(i++);
    temp_str += packet_str.GetAt(i);
    sum += wcstol(temp_str,NULL,16);
    }
  sum = sum % 256;
  CString checksum_result;
  checksum_result.Format(_T("%02x"),sum);
  packet_str += checksum_result;
  return packet_str;//返回的是整个报文

}

3、传入_T("你好123"),返回7,这个字符串实际所占长度

int GetByteLenth(CString unicode_str)
{
  int lenth_int;//字符数,5
  lenth_int = unicode_str.GetLength();
  int result_int = 0;
  for (int i=0;i<lenth_int;i++)
    {
    if((unicode_str.GetAt(i) >= 48 && unicode_str.GetAt(i) <= 57) ||(unicode_str.GetAt(i) >= 65 && unicode_str.GetAt(i) <= 90)||(unicode_str.GetAt(i)     >= 97 && unicode_str.GetAt(i) <= 122))
      result_int += 1;
    else
      result_int += 2;
    }
  return result_int;
}

4、传入字节数组,BYTE array[10],返回带空格CString

CString UChar2CString(BYTE* data_byte,int count)//count代表data_byte的字节数
{
  CString temp_str;
  CString result_str;
  temp_str = _T("");
  result_str = _T("");
  for (int i=0;i<count;i++)
    {
    temp_str.Format(_T("%02x"),data_byte[i]);
    result_str += temp_str;
    result_str += _T(" ");
    }
  result_str = result_str.MakeUpper();
  return result_str;
}

mfc报文相关算法的更多相关文章

  1. TCP系列39—拥塞控制—2、拥塞相关算法及基础知识

    一.拥塞控制的相关算法 早期的TCP协议只有基于窗口的流控(flow control)机制而没有拥塞控制机制,因而易导致网络拥塞.1988年Jacobson针对TCP在网络拥塞控制方面的不足,提出了& ...

  2. 二叉树-你必须要懂!(二叉树相关算法实现-iOS)

    这几天详细了解了下二叉树的相关算法,原因是看了唐boy的一篇博客(你会翻转二叉树吗?),还有一篇关于百度的校园招聘面试经历,深刻体会到二叉树的重要性.于是乎,从网上收集并整理了一些关于二叉树的资料,及 ...

  3. MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl)

    原文:MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl),沙漠紫风铃 本文介绍了MFC中和状态栏相关的用法: 在MFC的的单文档应用中,在建好应用程序之后,CMa ...

  4. 数据结构(C语言版)顺序栈相关算法的代码实现

    这两天完成了栈的顺序存储结构的相关算法,包括初始化.压栈.出栈.取栈顶元素.判断栈是否为空.返回栈长度.栈的遍历.清栈.销毁栈.这次的实现过程有两点收获,总结如下: 一.清楚遍历栈的概念 栈的遍历指的 ...

  5. [联赛可能考到]图论相关算法——COGS——联赛试题预测

    COGS图论相关算法 最小生成树 Kruskal+ufs int ufs(int x) { return f[x] == x ? x : f[x] = ufs(f[x]); } int Kruskal ...

  6. [java,2017-05-15] 内存回收 (流程、时间、对象、相关算法)

    内存回收的流程 java的垃圾回收分为三个区域新生代.老年代. 永久代 一个对象实例化时 先去看伊甸园有没有足够的空间:如果有 不进行垃圾回收 ,对象直接在伊甸园存储:如果伊甸园内存已满,会进行一次m ...

  7. 【STL学习】堆相关算法详解与C++编程实现(Heap)

    转自:https://blog.csdn.net/xiajun07061225/article/details/8553808 堆简介   堆并不是STL的组件,但是经常充当着底层实现结构.比如优先级 ...

  8. UCI机器学习库和一些相关算法(转载)

    UCI机器学习库和一些相关算法 各种机器学习任务的顶级结果(论文)汇总 https://github.com//RedditSota/state-of-the-art-result-for-machi ...

  9. 采样方法(二)MCMC相关算法介绍及代码实现

    采样方法(二)MCMC相关算法介绍及代码实现 2017-12-30 15:32:14 Dark_Scope 阅读数 10509更多 分类专栏: 机器学习   版权声明:本文为博主原创文章,遵循CC 4 ...

随机推荐

  1. JavaScript------如何查看var变量是否是指定类型

    function isArray(a) { //Date,Array,String,Object,Function,Boolean,Number return a.constructor.toStri ...

  2. python 之 多进程

    阅读目录 1. Process 2. Lock 3. Semaphore 4. Event 5. Queue 6. Pipe 7. Pool 序. multiprocessingpython中的多线程 ...

  3. jQuery中如何给动态添加的元素绑定事件

    jquery中绑定事件一般使用bind,或者click,但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定.在1.7版本以前使用live.但是在1.8版本以后推荐使用on.这 ...

  4. android应用安全——数据安全

    数据安全包含数据库数据安全.SD卡数据(外部存储)安全.RAM数据(内部存储)安全. android中操作数据库可使用SQLiteOpenHelper或ContentProvider的方式.使用SQL ...

  5. 【BZOJ4896】[Thu Summer Camp2016]补退选 Trie树

    [BZOJ4896][Thu Summer Camp2016]补退选 Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识.在T大,每个学生在每学期的开学前都需要选课,每 ...

  6. 求其中同一个主叫号码的两次通话之间间隔大于10秒的通话记录ID

    求其中同一个主叫号码的两次通话之间间隔大于10秒的通话记录ID 例如:6,7,8,9,10条记录均符合 ID 主叫号码 被叫号码      通话起始时间            通话结束时间       ...

  7. mongodb3.0+ 版本内置数据压缩

    mongodb3+版本之后支持zlib和snappy. 创建压缩的集合 db.createCollection( "email", {storageEngine:{wiredTig ...

  8. Powershell Get Domain Group的几种方法

    Group常见属性介绍: 一.Get-ADGroup获取群组(如下例循环获取群组的发送权限) #群组的发送权限info $groups=Get-ADGroup -filter * -SearchSco ...

  9. Powershell & SQL

    一.使用Powershell插入数据到SQL中 1.方法一 $ServerName=xxx $Database=xxx $UserID=xxx $Pwd=xxx $conn=new-object Sy ...

  10. link options and how g++ is invoked gcc g++

    yum install gcc yum install gcc-c++ yum reinstall gcc gcc-c++ Downloading packages:(1/2): gcc-c++-4. ...