Java教程

将16进制数据输出到控制台textout错误的---

本文主要是介绍将16进制数据输出到控制台textout错误的---,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
// 将16进制数据输出到控制台
void textout(char * name, unsigned char * p, unsigned short len)
{
	char * pp;
	unsigned short i;
	pp = (char*) malloc(1024);
	for (i = 0; i<1024; i++)pp[i] = 0;
	//	len=strlen(p);
	for (i = 0; i<len; i++)
		sprintf(pp + i * 2, "%02x", p[i]);
	sprintf(pp + i * 2, "\n\r");
	printf("%s",name);

	free(pp);
}
unsigned char toByte(char c)
{
	unsigned char value = 0;

	if (c >= '0' && c <= '9')
		value = c - '0';
	else if (c >= 'A' && c <= 'Z')
		value = c - 'A' + 10;
	else if (c >= 'a' && c <= 'z')
		value = c - 'a' + 10;

	return value;
}

void hexStringToByte(unsigned char *dstByte, const char *srcHexString, int len)
{
	int index;

	for (int i = 0; i < len; i++){
		index = i * 2;
		dstByte[i] = ((toByte(srcHexString[index])) << 4) | toByte(srcHexString[index + 1]);
	}
}
int main()
{
	char tmp[10];
	unsigned char t_buf[1024];				// 发送报文缓冲区
	hexStringToByte(t_buf, "abcd1234", 8);
	textout(tmp, t_buf, 8);
	system("PAUSE");
	return 0;


}

  

这篇关于将16进制数据输出到控制台textout错误的---的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!