请问 前辈 :定义了一个  char sz[13];
                           CString a;
                          其中a接收的字符串字节小于13,但不是已知的,应该怎么转换呀。直接用memcopy不行。

解决方案 »

  1.   

    strncpy(sz, a, sizeof(sz)-1);
      

  2.   

    楼主就是想把a的值赋给sz,对否?这样写更好memset(sz, 0, sizeof(sz));
    strncpy(sz, a, min(a.GetLength(), sizeof(sz)-1));
      

  3.   

    谢谢各位 ,尤其是kantonwang2007 前辈,再问个问题,如果把
    DWORD sz;
    CString a;
    a如何赋值给sz呢?BYTE *sz;
    CString a;
    a如何赋值给sz呢?
      

  4.   

    第一种情况 sz = atoi(a);第2种情况不可以,需要对sz进行分配内存后,再赋值,用好释放内存
    sz = new BYTE[13];// 赋值delete [] sz;
      

  5.   

    是呀,不好意思,第二种,我是把图片转换成二进制流了,应该可以直接赋值了还有个问题,就是char sz;
                    CString a;
    怎么赋值呢?还是这样么memset(sz, 0, sizeof(sz));
    strncpy(sz, a, min(a.GetLength(), sizeof(sz)-1));
    万分感谢哦,真的!