怎样将字符串转换成16进制字符数据啊?
转换之后要求值不变。

解决方案 »

  1.   

    CString str="0x3f";
    DWORD data=_tcstol(str,NULL,16);
      

  2.   

    将字串缓冲区的内容,用字串格式化方式(Format)读出
    CString::Format(_T("%2X"),buff[i));
      

  3.   

    是这样的,我的代码如下:
                                m_Receive="0x88";
                                 int msgLen;
    unsigned char tmp[500];
    msgLen=m_Receive.GetLength();
    memset(tmp,0,500);
    memcpy(&tmp[0],m_Receive,msgLen);
    mData = HexToChar(tmp[500]);//?

    if(mData==0x88)
    {
    MessageBox("数据发送完毕!");
    return;
    }
    我想让mData等于0x88时就弹出消息框,但是我设置断点后,mData的值不为0x88。请高手们帮下忙,有没有简单点的方法,直接将字符串转换成字符的。
      

  4.   

    #include <stdio.h>
    ....memcpy(&tmp[0],m_Receive,msgLen);
    sscanf(tmp, "0x%x", &mData);
    ....
      

  5.   

    出现这样的错误呢:error C2664: “sscanf”: 不能将参数 1 从“unsigned char”转换为“const char *”
      

  6.   

    unsigned char tmp[500];
    定义改成
    char tmp[500];