"300D" -> 0x300D

解决方案 »

  1.   

    使用CString类的Format函数应该可以吧
      

  2.   

    那你就自己编一个函数,一个一个的读出字符串,每读一个就转化为数值并依次左移4位不就可以了:
    void(sc
      

  3.   

    God,那也太麻烦了吧,刚才查到函数StrToIntEx,可是好像转换后得到的是300,那个D哪里去了?
      

  4.   

    WORD convert(char *str)
    {
      int len = strlen(len);
      WORD result = 0;
    for(int i =0; i <len ;i++,result << 4)
        {
            if (str[i]=<'9' && str[i] >= '0')
               { result += str[i] - '0';}
            else if(str[i] >= 'A' && str[i] <= 'F')
            {  result += str[i] - 'A' + 10}
        }
      return result;
    }
      

  5.   

    StrToIntEx(str1,STIF_SUPPORT_HEX,&i)
      

  6.   

    ft,MSDN上不讲清楚,必须要有0x在前面它才认.
      

  7.   

    晕。
    strBuf = "274bcd";
    int value;
    sscanf(strBuf, "%x", &value)