cstring::getlength()

来源:互联网 发布:黑魂3 防火女捏脸数据 编辑:程序博客网 时间:2024/05/21 17:17

cstring::getlength()返回的是字符个数,不是字节个数

如在Ansi字符集下,Cstring str = "abcde";

str.getlenght() = 5;

 

如在Unicode字符集下,Cstring str = "abcde";

str.getlenght() = 5;而不是10;

 

有的函数参数中要用到Cstring的length()大小,这时就要注意在不同的编码下是不一样的了

GlobalAlloc(GMEM_MOVEABLE, sizeof(TCHAR)*(str.GetLength()+1));

此时TCHAR是char*型,所以一般情况下我们可以写成

GlobalAlloc(GMEM_MOVEABLE,(str.GetLength()+1));

而在Unicode下就必须写成

GlobalAlloc(GMEM_MOVEABLE, sizeof(TCHAR)*(str.GetLength()+1));

原创粉丝点击