怎么搞得,获取不了CString的长度

凌波微搏 2004-08-05 10:19:43
使用GetLength()根本获取不了它的长度,不知各位有何建议。
...全文
740 12 点赞 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dhbo 2004-08-05
恭喜楼主,俺来接分
  • 打赏
  • 举报
回复
凌波微搏 2004-08-05
看来是我的操作有问题,
但是昨天我确实一整天都没有获取到正确的长度,但是我今天就可以了。

谢谢各位了。
  • 打赏
  • 举报
回复
kvw3000 2004-08-05
不错
GetBuffer后要ReleaseBuffer

str.GetLength()
  • 打赏
  • 举报
回复
lordor 2004-08-05
你看一下字符串是不是宽行的(unicode)?
  • 打赏
  • 举报
回复
stevecrisewu 2004-08-05
你都没有说原因,出了什么错误,你叫大家如何给你建议?

不过有一点要说的是:请不要怀疑GetLength()函数本身,你看到的仅仅是假相而已。
  • 打赏
  • 举报
回复
Kudeet 2004-08-05
你这样提问我们就只能告诉你可以取长度
  • 打赏
  • 举报
回复
holyeagle 2004-08-05
是否用了GetBuffer(),并且写入了字串,必须用ReleaseBuffer释放,不然str是不会重新计算长度,所以getLength失效
  • 打赏
  • 举报
回复
crusaderg 2004-08-05
如果使用过GetBuffer方法,一定要用ReleaseBuffer方法,不然的确是无法使用GetLength
  • 打赏
  • 举报
回复
酒红绿叶 2004-08-05
怎么会得不到长度??
你的cstring是怎么定义得?

有多长?
  • 打赏
  • 举报
回复
lixiaosan 2004-08-05
怎么会呢?
CString str = "1234";
int nlen = str.GetLength();
  • 打赏
  • 举报
回复
longlong1129 2004-08-05
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()是不可能抓不到字符穿的长度的,除非你的编译器或者你的程序有问题!
  • 打赏
  • 举报
回复
shadowWind 2004-08-05
可以的阿

CString s( "abcdef" );
int length = s.GetLength();
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-08-05 10:19
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……