请问CString类型怎么转换到WORD类型。比如CString text="0xff";
怎么把值赋给一个WORD类型的变量。

解决方案 »

  1.   

    下面函数可以把CString text="0xff";转换成DWORD类型的数DWORD HexToDec(CString hex)
    {
    DWORD data, tmp;
    int length = hex.GetLength();
    DWORD dec = 0;
    for(int i = 0; i < length; i++)
    {
    data = 0;
    tmp = 1;
    for(int j = 1; j < length - i; j++)
    tmp *= 16; if(hex[i] >= '0' && hex[i] <= '9' )
    data = (hex[i] - 48) * tmp;
    else if(hex[i] >= 'A' && hex[i] <= 'F')
    data = (hex[i] - 55 ) * tmp;
    else if (hex[i] >= 'a' && hex[i] <= 'f')
    data = (hex[i] - 87) * tmp;
    dec += data;
    }
    return dec;
    }---------
      ++C++
    ---------
      

  2.   

    这样也能实现CString  text="0xff";
    WORD word;
    sscanf(text,"0x%02x",&word);
    printf("%d\n",word);
      

  3.   

    unsigned long strtoul(
       const char *nptr,
       char **endptr,
       int base 
    );
      

  4.   

    用Format()可以实现其他向字符串转化
    例如
    int abc=123;
    CString temp();
    temp.Format("%d",abc);
    那temp的内容就是“123”