【 tulaoshi.com - 编程语言 】
                             
                            sswanglei 发表于 2007-2-9 16:08:00 /*------------------------------------------------------------       
      函数名   :   TransData(CString   InStr,   PUCHAR   OutStr)       
      功     能   :   将字符串转换成十六进制数据       
      参     数   :   CString   InStr   [in]   输入字符串       
      PUCHAR   OutStr   [out]   输出转换后数据的指针       
      返回值   :   BOOL,正确返回TRUE,错误返回FALSE       
  ------------------------------------------------------------*/   
  BOOL   TransData(CString   InStr,   PUCHAR   OutStr)   
  {   
  UINT                 i   =   0,   j   =   0;   
  UINT       len   =   0;   
  UCHAR               Str[KEY_LEN   *   2];       
  len   =   InStr.GetLength();       
  if   ((len   %   2)   !=   0)   
  {   
  MessageBox("请按要求输入!",   "错误",   MB_OK   |   MB_ICONERROR);   
  return   FALSE;   
  }       
  memset(OutStr,   0,   sizeof(UCHAR[KEY_LEN]));   
  memset(Str,   0,   sizeof(UCHAR[KEY_LEN   *   2]));   
  strcpy((char*)(Str),   InStr.GetBuffer(0));   
  InStr.ReleaseBuffer();       
  for(i   =   0;   i      len;   i++)   
  {   
  if   ((Str[i]      47)   &&   (Str[i]      58))   
  {   
  Str[i]   -=   48;   
  }   
  else   if   ((Str[i]      64)   &&   (Str[i]      71))   
  {   
  Str[i]   -=   55;   
  }   
  else   if   ((Str[i]      96)   &&   (Str[i]      103))   
  {   
  Str[i]   -=   87;   
  }   
  else   
  {   
  MessageBox("数据格式错误!",   "错误",   MB_OK   |   MB_ICONERROR);   
  return   FALSE;   
  }   
  }       
  i   =   0;   
  while(i      len)   
  {   //   转换   
  Str[j]   =   Str[i]   *   16   +   Str[i   +   1];   
  i   +=   2;   
  j++;   
  }