📄 public.cpp
字号:
#include "stdafx.h"
#include "public.h"
//--------------转换数据为十六进制字符串-------------------------
CString ConverBufToHex(const unsigned char * buf , int len)
{
CString ret;
int i = 0;
char tmp[10];
tmp[2] = 0;
for(i = 0 ; i < len; i++)
{
itoa((int)(buf[i] & 0xff) , tmp , 16);
if(tmp[1] == 0)
{
tmp[1] = tmp[0];
tmp[0] = '0';
}
ret = ret + tmp + " ";
}
ret.MakeUpper();
return ret;
}
//----------------------把十六进制数转换为实际数据-----------------÷
int ConverHexToBuff(CString &HexStr , unsigned char * Buf , int BuffLen)
{
CString ret;
int len = HexStr.GetLength();
int i = 0,j = 0;
char *PStr ;
PStr = HexStr.GetBuffer(0);
char tmp[10];
tmp[2] = 0;
for(i = 0 ; i < len - 1 && BuffLen > 0; i++)
if( (PStr[i] >='0' && PStr[i] <= '9' ||
PStr[i] >='a' && PStr[i] <= 'f' ||
PStr[i] >='A' && PStr[i] <= 'F') &&
(PStr[i+1] >='0' && PStr[i+1] <= '9' ||
PStr[i+1] >='A' && PStr[i+1] <= 'F' ||
PStr[i+1] >='a' && PStr[i+1] <= 'f'))
{
tmp[0] = PStr[i];
tmp[1] = PStr[i+1];
Buf[j] = (char)(strtol(tmp,NULL,16) & 0xff);
j++;
i++;
BuffLen--;
}
return j;
};
//-----------根据传入的数据生成效验字节-----------------
unsigned char MakeVerify(unsigned char * Buf , int Len)
{
unsigned char even = 0;
for(int i = 0 ; i < Len ; i++)
even = even ^ Buf[i];
return even;
}
//----------------------效验数据-----------------------
bool VerifyData(unsigned char * Buf , int Len , unsigned char verify)
{
unsigned char even = 0;
even = MakeVerify(Buf , Len);
if(even != verify)
return false;
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -