CString m_a="dfaddsafds";
byte* aa;
aa = (byte *)(LPCSTR)m_a;
TRACE("%d\n",m_a.GetLength());
TRACE("%d",sizeof(aa));好像sizeof(aa)是指针的长度,我要如何得到数组的长度呢?

解决方案 »

  1.   

    char chs[10];
    int n = sizeof(chs)/sizeof(char);
      

  2.   

    char *chs = new char[10];
    int n = sizeof(chs)/sizeof(char);
    n恒为4
      

  3.   

    char *chs = new char[10];
    int n = sizeof(chs)/sizeof(char);
    n恒为4
      

  4.   

    CString类型的话,GetLength()就可以
    byte* 的话,可以用strlen((char*)aa)
      

  5.   

    byte* aa;
    aa是个指针
    不是数组
      

  6.   

    用strlen(m_a);的话
    不要忘记加'\0'的位置
      

  7.   

    CSting内部有个指针 m_data
    当内容变化时
    先delete
    再new
    所以空间总是不多也不少