⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bytehexstrconvert.cpp

📁 手机发送短信的Activex控件
💻 CPP
字号:
#include "stdafx.h"

#include <stdio.h>
#include <crtdbg.h>
#include <string.h>

//作用:将  pBytes处,长度为nBytes的字节,转换为十六进制数字(字母大写),存于str
//说明:调用程序必须保证  str的长度为    2*nBytes + 1(NULL)
//返回:转换后的字节数,不包括加入的NULL,实际  ==  2*nBytes 
//作者:wangwwcn99@cn99.com
//最后修改:00-4-19 12:39:56
int ByteToHexStr(const unsigned char*pBytes, int nBytes, char* str)
{
	if( nBytes <= 0 ) return 0;

	int len = 0;
	int temp;
	while(nBytes--)
	{
		temp = *pBytes++;
		len += sprintf(str, "%02X", temp );
		str++; str++;
	}

	return len;
}

//作用:将十六进制数字串str,转换为BYTE,存于pBytes
//说明:调用程序必须保证pBytes 的长度, str的长度应该是偶数   
//返回:转换后的字节数,实际  ==  str长度  / 2
//作者:wangwwcn99@cn99.com
//最后修改:00-4-19 12:39:56

int HexStrToByte(const char*str, unsigned char*pBytes)
{
	_ASSERT( strlen( str ) % 2 == 0 );

	int len = 0;
	int temp;
	while(*str)
	{
		//采用2x格式时,sscanf会自动根据数据长度往后写4个字节!!,而不是1个字节
		sscanf(str, "%2X", &temp );	*pBytes++ = temp;
		
		len++;
		str++; str++;
	}
	return len;
}

//作用:将十六进制数字串str,的前len字节  转换为BYTE,存于pBytes
//说明:调用程序必须保证pBytes 的长度, len应该是偶数   
//返回:转换得到的字节数,实际就是len/2
//作者:wangwwcn99@cn99.com
//最后修改: 2000年5月27日11:49:29


int HexStrLenToByte(const char*str, int len, unsigned char*pBytes)
{
	_ASSERT( len % 2 == 0 );   //must be an even number
	
	int temp; int nReturn = len/2;
	while( len )
	{	
		//采用2x格式时,sscanf会自动根据数据长度往后写4个字节!!,而不是1个字节
		sscanf(str, "%2X", &temp ); *pBytes++ = temp;
		len--; len--;
		str++; str++;
	}
	
	return nReturn;
}


 

⌨️ 快捷键说明

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