|
// 16Hex.cpp : 定义控制台应用程序的入口点。
//
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
#include "stdafx.h"
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
#include <stdlib.h>
#include <string.h>
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
// 16进制输出函数 把一个unsigned char *数组,按照16进制输出
// 调用前,请先初始化 dst, 并确保dst有足够的空间存放
// dst的空间是 char数组的3倍+1
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
void ToHex( unsigned char * src, int length, char * dst )
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif) ![](http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif) {
char temp[3];
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
for (int i = 0; i < length; ++i)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) { char result[3] = {'0', '0', ' '};
itoa(src[i], temp, 16);
if (strlen(temp) == 1)
memcpy(result + 1, temp, 1);
else
memcpy(result, temp, 2);
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
memcpy(dst + 3 * i, result, 3);
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
int _tmain(int argc, _TCHAR* argv[])
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif) ![](http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) unsigned char ch1[2] = {0x01, 0xff};
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
char _dstbuf[1024] = "\0";
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
ToHex(ch1, 2, _dstbuf);
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
return 0;
}
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
|