BYTE aa[4];
CString bb;
BYTE----->CString
如何实现!

解决方案 »

  1.   

    BYTE aa[4];
    CString bb;
    bb.Format((char *)aa);
      

  2.   

    如果aa是英文字符串的话,可以这样:
    bb = CString(aa);
      

  3.   

    BYTE* temp = new BYTE [buffer.GetSize()];
    CString AppStr;

    for (int i=0; i<4; i++)
    {
    temp[i] = buffer[i];
    temp[i] = ((temp[i]<<4) | (temp[i]>>4));
    }

    AppStr.Format((char *)temp);
    temp[0]=0x11,temp[1]=0x22,temp[2]=0x33,temp[4]=0x44;为什么在watch窗口看不到AppStr的值为11223344?
      

  4.   

    大哥拜托,你这明明是要把16进制转换程字符串嘛,题目要写清楚嘛:
    BYTE temp[4] = {0x11,0x22,0x33,0x44};
    CString AppStr;
    AppStr.Format("%02x%02x%02x%02x",temp[0],temp[1],temp[2],temp[3]);
    ::MessageBox(NULL,(LPCTSTR)AppStr,NULL,MB_OK);
      

  5.   

    按照lonely001的方法可以,但我的temp数组的个数不确定,可能为10个,不会
    AppStr.Format("%02x%02x%02x%.....02x",temp[0],temp[1],temp[2],temp[3].....);一个一个输吧!
      

  6.   

    for(int i =0;i<len;i++)
    {
     CString str.Format("%02x",temp[i]);
     AppStr+=str;
    }
      

  7.   

    void *memcpy( void *dest, const void *src, size_t count );MSDN上有详尽解释.
      

  8.   

    example:BYTE m_Byte[10]={'A','B','C','D','E','F','G','H'};
    char cBuffer[100];
    memcpy(cBuffer,m_Byte,sizeof(m_Byte));
    CString szBuffer = cBuffer;
      

  9.   

    楼上有个小错误
    应该为cBuffer
    memset(cBuffer, 0, 100);
    再进行memcpy
    否则字符串没有结束
    岂不是烫烫烫烫...
      

  10.   

    BYTE* temp = new BYTE [buffer.GetSize()];
    CString AppStr = "";
    for (int i=0; i<buffer.GetSize(); i++)
    {
      temp[i] = buffer[i];
      temp[i] = ((temp[i]<<4) | (temp[i]>>4));
      AppStr.Format("%s%02x",(LPCTSTR)AppStr,temp[i]);
    }
    delete [] temp;