比如有一个16进制数组BYTE a[];内容是0x0A,0x0B,现在要把这个数组转换为Cstring,即内容为0A0B的cstring,请问应该怎么做呢
还有就是反向转换,例如把把内容为9F0C的cstring转换为byte数组
谢谢大家指点!

解决方案 »

  1.   

    BYTE by[2] = {0x0A,0x0B};
    CString s;
    s.Format("%02X%02X",by[0],by[1]);
      

  2.   

    CString s = "9F0C";
    BYTE by[2] = {0,0};
    sscanf(s,"%X%X",&by[0],&by[1]);
      

  3.   

    不过提个建议,注意一下Unicode编码,最好写通用的代码移植性要好一些。
      

  4.   

    strtol也可以.例子:CString strTemp = _T(""0xff);
    int nTemp = strtol(strTemp, NULL, 16);  //
      

  5.   

    大神,我崇拜你阿。请教一下,我现在会基本到C++,VC也粗略的知道一点点,但是就好像不太了解这些函数和一些进阶的知识,请问看些什么书呢,谢谢了!