C/C++ 输入十六进制字符转十六进制数
问题描述:在进行数据包收发时需要输入代传输的十六进制数,但是在键盘输入时输入的是char型字符,这时需要将字符进行一下转换,分享一下我使用的方法
解决方法:设置一个函数,将输入的十六进制进行转换,转换方法如下:
int count = 1;//全局变量
void message::Char_to_hex(char num) //c++自定义的类中方法,c/c++直接定义函数Char_to_hex(char num)即可
{
if((count%2)!=0)//输入字符如'1f'中的1时,进入
{
switch(num)
{
case '0': k = 0x00;break;
case '1': k = 0x10;break;
case '2': k = 0x20;break;
case '3': k = 0x30;break;
case '4': k = 0x40;break;
case '5': k = 0x50;break;
case '6': k = 0x60;break;
case '7': k = 0x70;break;
case '8': k = 0x80;break;
case '9': k = 0x90;break;