CString tempstr;
char *msg;
tempstr=srs->m_msg;
tempstr.TrimRight();
msg=(LPTSTR)(LPCTSTR)tempstr;
         msg的内容可以看到是"测试我的发文";
可是sizeof(msg)却是4,如何处理,怎么样才得出正确结果

解决方案 »

  1.   

    msg是一个指针,指针的长度当然是四了。
    字符串长度用strlen(msg)去的。
      

  2.   

    sigh, 
    msg 是一个字符串指针, sizeof(msg)当然是指针变量的大小 (4个byte) 了
    这个指针所指的内容是 "测试我的发文"
    要得到 这个字符串的长度, 应该用
    strlen(msg) 这个字符串 函数 来得到呀。
    或者 直接用CString 类的成员函数 Length
    注意哦, 返回的长度 没有包括c形式字符串的'\0' 结束符strlen 是c 标准函数 , 在 <string.h> 中
    CString 是MFC 类, 
      

  3.   

    完全同意,sizeof(msg)是指针的长度,而不是指针指向地址空间的大小