CString的GetLength

来源:互联网 发布:cpu稳定测试软件 编辑:程序博客网 时间:2024/05/22 00:24

 在多字节(ANSI)环境里面

 int iCount = 0;
 CString strMyString;

 

 strMyString = _T("中文字符");
 iCount = strMyString.GetLength(); //iCount = 8
 strMyString = _T("English char");
 iCount = strMyString.GetLength();//iCount = 12
 strMyString = _T("混合char");
 iCount = strMyString.GetLength();//iCount = 8

 

在这里,GetLength把中文字符当成两个字符来对待。这并不是很符合我们的逻辑。

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

在Unicode环境里面

 int iCount = 0;
 CString strMyString;

 

 strMyString = _T("中文字符");
 iCount = strMyString.GetLength(); //iCount = 4
 strMyString = _T("English char");
 iCount = strMyString.GetLength();//iCount = 12
 strMyString = _T("混合char");
 iCount = strMyString.GetLength();//iCount = 6

在这里,GetLength按我们正常的逻辑把中文字符也看成是一个字符来对待。具有国际通用性

在VS2008测试通过

 

原创粉丝点击