mfc报文相关算法
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报文相关算法的更多相关文章
- TCP系列39—拥塞控制—2、拥塞相关算法及基础知识
一.拥塞控制的相关算法 早期的TCP协议只有基于窗口的流控(flow control)机制而没有拥塞控制机制,因而易导致网络拥塞.1988年Jacobson针对TCP在网络拥塞控制方面的不足,提出了& ...
- 二叉树-你必须要懂!(二叉树相关算法实现-iOS)
这几天详细了解了下二叉树的相关算法,原因是看了唐boy的一篇博客(你会翻转二叉树吗?),还有一篇关于百度的校园招聘面试经历,深刻体会到二叉树的重要性.于是乎,从网上收集并整理了一些关于二叉树的资料,及 ...
- MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl)
原文:MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl),沙漠紫风铃 本文介绍了MFC中和状态栏相关的用法: 在MFC的的单文档应用中,在建好应用程序之后,CMa ...
- 数据结构(C语言版)顺序栈相关算法的代码实现
这两天完成了栈的顺序存储结构的相关算法,包括初始化.压栈.出栈.取栈顶元素.判断栈是否为空.返回栈长度.栈的遍历.清栈.销毁栈.这次的实现过程有两点收获,总结如下: 一.清楚遍历栈的概念 栈的遍历指的 ...
- [联赛可能考到]图论相关算法——COGS——联赛试题预测
COGS图论相关算法 最小生成树 Kruskal+ufs int ufs(int x) { return f[x] == x ? x : f[x] = ufs(f[x]); } int Kruskal ...
- [java,2017-05-15] 内存回收 (流程、时间、对象、相关算法)
内存回收的流程 java的垃圾回收分为三个区域新生代.老年代. 永久代 一个对象实例化时 先去看伊甸园有没有足够的空间:如果有 不进行垃圾回收 ,对象直接在伊甸园存储:如果伊甸园内存已满,会进行一次m ...
- 【STL学习】堆相关算法详解与C++编程实现(Heap)
转自:https://blog.csdn.net/xiajun07061225/article/details/8553808 堆简介 堆并不是STL的组件,但是经常充当着底层实现结构.比如优先级 ...
- UCI机器学习库和一些相关算法(转载)
UCI机器学习库和一些相关算法 各种机器学习任务的顶级结果(论文)汇总 https://github.com//RedditSota/state-of-the-art-result-for-machi ...
- 采样方法(二)MCMC相关算法介绍及代码实现
采样方法(二)MCMC相关算法介绍及代码实现 2017-12-30 15:32:14 Dark_Scope 阅读数 10509更多 分类专栏: 机器学习 版权声明:本文为博主原创文章,遵循CC 4 ...
随机推荐
- Python 实现购物商城,含有用户入口和商家入口
这是模拟淘宝的一个简易的购物商城程序. 用户入口具有以下功能: 登录认证 可以锁定用户 密码输入次数大于3次,锁定用户名 连续三次输错用户名退出程序 可以选择直接购买,也可以选择加入购物车 用户使用支 ...
- redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 问题解决
1.启动redis 客户端 redis-cli 报错 redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 是因 ...
- Android网络框架-Volley实践 使用Volley打造自己定义ListView
这篇文章翻译自Ravi Tamada博客中的Android Custom ListView with Image and Text using Volley 终于效果 这个ListView呈现了一些影 ...
- Win8 IIS 安装和部署网站问题
安装IIS 比较win7的安装来说,多选了几个钩钩,不然会报错,偶就遇到这样的错误. 控制面板->程序和功能->启动和关闭windows功能,钩钩图例: 安装好iis后 在控制面板-> ...
- RadioButton ---- 样式效果切换
\res\drawable\radio_button_bg.xml <?xml version="1.0" encoding="utf-8"?> & ...
- ssh框架搭建出现的问题和解决
[说明]今天尝试从头开始搭建ssh 框架, 真心是有点不太容易,可能是第一次吧,之前都是小打小闹. 一:今日完成 搭建 Spring 环境 --> 然后搭建 Hibernate 环境 --> ...
- 【BZOJ4421】[Cerc2015] Digit Division 动态规划
[BZOJ4421][Cerc2015] Digit Division Description 给出一个数字串,现将其分成一个或多个子串,要求分出来的每个子串能Mod M等于0. 将方案数(mod 1 ...
- angularJS中的ng-show、ng-if指令
angularJS中的ng-show.ng-hide.ng-if指令都可以用来控制dom元素的显示或隐藏. 1. ng-show和ng-hide 根据所给表达式的值来显示或隐藏HTML元素.元素会渲染 ...
- 转义字符的理解(JAVA、字符串和正则表达式)
一.原理总结: 要理解转义,首先要从正则表达式说起. 在正则表达式中:*和\是特殊字符:为了匹配这两个字符本身,正则表达式中需要写为\*和\\ 在Java中,只能用字符串表示正则表达式,所以需要把\* ...
- Python IDLE或shell中切换路径
在Python自带的编辑器IDLE中或者python shell中不能使用cd命令,那么跳到目标路径呢.方法是使用os包下的相关函数实现路径切换功能. import os os.getcwd() # ...