CString  MsgData;
char  aMsgData[1024];StrLen = (short)m_MsgData.GetLength();
memcpy(aMsgData, m_MsgData.GetBuffer(StrLen), StrLen);for(int i = 0; i < StrLen; i++)
   aMsgData[i]  转换为2进制
不知道是不是有什么函数可以直接实现
个人觉得这个方法挺笨的

解决方案 »

  1.   

    CString CXmlProcess::HexToBin(CString string)//将16进制数转换成2进制
    {
    if( string == "0") return "0000";
    if( string == "1") return "0001";
    if( string == "2") return "0010";
    if( string == "3") return "0011";
    if( string == "4") return "0100";
    if( string == "5") return "0101";
    if( string == "6") return "0110";
    if( string == "7") return "0111";
    if( string == "8") return "1000";
    if( string == "9") return "1001";
    if( string == "a") return "1010";
    if( string == "b") return "1011";
    if( string == "c") return "1100";
    if( string == "d") return "1101";
    if( string == "e") return "1110";
    if( string == "f") return "1111";
    return "";
    }
      

  2.   

    http://blog.csdn.net/kw123/archive/2007/10/11/1820722.aspx
      

  3.   


    CString str = _T("100");
    int a;
    _stscanf(str, _T("%d"), &a); TCHAR strBin[30];
    _itot(a, strBin, 2);
    MessageBox(strBin);
      

  4.   

    void dump(BYTE* p, int n) {
    for(int i=0;i<n;i++) {
    printf("%02X ",p[i]);
    if ((i&15)==15) printf("\n");
    }
    printf("\n");
    }
      

  5.   

    void dump(BYTE* p, int n) {
    for(int i=0;i<n;i++) {
    printf("%02X ",p[i]);
    if ((i&15)==15) printf("\n");
    }
    printf("\n");
    }