Cstring getlength

 在多字节(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测试通过

原文地址:https://www.cnblogs.com/hualimengyu/p/3425862.html