随笔 - 23  文章 - 0 评论 - 68 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

广告中国绩效网,注册立刻送10元 广告中国绩效网,注册立刻送10元

常用链接

留言簿(7)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

//*********************************************************  
  //      
    //      

//字符串转化成16进制存入CHAR数组中  
  //       作者:QQTCC  
  //       日期:2006.12.7  
  //  
  //*********************************************************  
  #include   <iostream>  
  using   namespace   std;  
  bool   isNumber(char   *p)               //字符串位是否数字或字母判断;  
  {  
  if(*p>='0'&&   *p<='9')  
  {return   true;}  
  else   return   false;  
  }  
   
  void   convert(char   *p,unsigned   char   str[])  
  {  
  int   high,low,i=0;  
  while(*p!='\0')  
  {  
  if(isNumber(p))  
  {high=(*p-48)<<4;   }       //按ASCII转换成整数并左移4位  
  else  
  {high=(*p-55)<<4;   }       //ASCII转换成整数左移4位  
  high=high&0xF0;               //低4位屏蔽  
  ++p;                                     //读低4位  
  if(isNumber(p))  
  {low=*p-48;   }                   //左移4位  
  else  
  {low=*p-55;     }                 //左移4位  
  low=low&0x0F;                   //高4位屏蔽  
  str[i++]=low|high;  
  ++p;  
  }  
  }  
  void   main()  
  {  
  char   str[]="1234567890ABCDEF";  
  unsigned   char   dest[8];  
  char   *p=str;  
  convert(p,dest);  
  for(int   j=0;j<8;j++)  
  {cout<<hex<<dest[j]<<endl;} //结果扩展ASCII,我查表验证过.  
  }


posted on 2007-10-21 23:44 吴剑 阅读(1687) 评论(1)  编辑 收藏 引用 所属分类: 代码摘抄

FeedBack:
# re: 字符串转化成16进制 2008-07-07 23:25 企业即时通讯
好程序,谢谢。  回复  更多评论
  
只有注册用户登录后才能发表评论。