使用GetLength()根本获取不了它的长度,不知各位有何建议。

解决方案 »

  1.   

    可以的阿CString s( "abcdef" );
    int length = s.GetLength();
      

  2.   

    1 . CString s ="abc12345";
        int len = strlen(s); //len 就是改字符串S的長度.
        CString k ; 
        k.Format("%d" , len);
        AfxMessageBox(k);2.   CString s ="abc12345";
        int len = s.GetLength() ;//len 就是改字符串S的長度.
        CString k ; 
        k.Format("%d" , len);
        AfxMessageBox(k);
        GetLength()是不可能抓不到字符穿的长度的,除非你的编译器或者你的程序有问题!
      

  3.   

    怎么会呢?
    CString str = "1234";
    int nlen = str.GetLength();
      

  4.   

    怎么会得不到长度??
    你的cstring是怎么定义得?有多长?
      

  5.   

    如果使用过GetBuffer方法,一定要用ReleaseBuffer方法,不然的确是无法使用GetLength
      

  6.   

    是否用了GetBuffer(),并且写入了字串,必须用ReleaseBuffer释放,不然str是不会重新计算长度,所以getLength失效
      

  7.   

    你都没有说原因,出了什么错误,你叫大家如何给你建议?不过有一点要说的是:请不要怀疑GetLength()函数本身,你看到的仅仅是假相而已。
      

  8.   

    你看一下字符串是不是宽行的(unicode)?
      

  9.   

    不错
    GetBuffer后要ReleaseBufferstr.GetLength()