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 ...
随机推荐
- apache的ab命令做压力测试
1. 最基本的关心两个选项 -c -n 例: ./ab -c 100 -n 10000 http://127.0.0.1/index.php -c 100 即:每次并发100个-n 10000 即: ...
- Arcgis for Js之GeometryService实现測量距离和面积
距离和面积的測量时GIS常见的功能.在本节,讲述的是通过GeometryService实现測量面积和距离.先看看实现后的效果: watermark/2/text/aHR0cDovL2Jsb2cuY3N ...
- 【C语言天天练(二)】预处理
引言: 学C语言之初.一提到预处理,脑子里想到的就是#define的宏定义以及#include包括的头文件.后来随着对C的深入学习发现.预处理不止这些.比方条件编译.提前定义的宏等等.以下对此进行总结 ...
- win 8升级win8.1的几个问题
对于习惯了win7来说的小朋友,win8的使用简直有种想砸电脑的冲动啊,特别是玩游戏的小朋友,win8各种bug.对于游戏.咳咳,我只是多说了,我们都是爱学习的好孩子,少玩游戏,少撸.简单说一 ...
- 【BZOJ3813】奇数国 线段树+欧拉函数
[BZOJ3813]奇数国 Description 给定一个序列,每次改变一个位置的数,或是询问一段区间的数的乘积的phi值.每个数都可以表示成前60个质数的若干次方的乘积. Sample Input ...
- 【工具】SwitchHost的使用
一.问题: 更改Host后,再次启用或者关闭启动Host,Host被恢复原状.原因是修改Host的顺序顺序有问题. 二.解决步骤: 修改Host之前,先点击右下角,关闭所有Host(白色的部分在下面表 ...
- Java模拟并发
=========================one============================= public class Bingfa { public static void m ...
- debian各种包
1 zlib compression library sudo apt-get install zlib1g-dev 2 c-ares库 libc-ares-dev - asynchronous na ...
- JavaScript 学习(3)核心对象
##JavaScript 学习 3 1.核心对象 1.1 String对象 声明和生成 var myString="Hello"; var myString=new String( ...
- 2.sublime的配置,
sublime配置完成后,感觉好强大..