define.cpp

来自「提供数据的实时下载和定时下载」· C++ 代码 · 共 52 行

CPP
52
字号
#include "stdafx.h"
#include "define.h"

int GetHexcharValue(char ar)
{
	int nValue = 0;
	BOOL bTrue = FALSE;
	if( ar>='a' && ar<='f')
	{
		nValue += (int)(ar-'a')+10;
		bTrue = TRUE;
	}
	else
	{
		if(ar>='A' && ar<='F')
		{
			nValue += (int)(ar-'A')+10;
			bTrue = TRUE;
		}
		else
			if(ar>='0' && ar<='9')
			{
				nValue += (int)(ar-'0');
				bTrue = TRUE;
			}
	}
	if(bTrue)
		return nValue;
	else
		return -1;
}

BOOL HexStrConvertToBytes(LPCTSTR str,int nLen,BYTE array[])
{
   if(nLen%2 !=0)
	   return FALSE;

   short nHighBit,nLowBit;
	nHighBit=nLowBit=0;
	memset(array,0x0,nLen/2);

	for(int i=0;i*2+1<nLen;i++)
	{
		nHighBit = GetHexcharValue(str[i*2]);
		nLowBit = GetHexcharValue(str[i*2+1]);
		if((nHighBit!=-1) && (nLowBit!=-1))
			array[i] = (BYTE)(nHighBit*16 + nLowBit);
		else
			return FALSE;
	}
   return TRUE;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?