CString 如何得到字符串的长度,是字符个数?不是GetLength
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CString 如何得到字符串的长度,是字符个数?不是GetLength相关的知识,希望对你有一定的参考价值。
比如:
CString str = "ab大";
我的意思是,我想取出来的字是3,面不是4!
GetLength 这个函数是以字节来计算的!
我是要的是字符个数!
请问有什么办法 吗?
CStringW str2(str);
str2.GetLength();本回答被提问者采纳
C#计算字符串长度,汉字算两个字符
在C#中的字符串类String中,有个Length属性表示字符串的长度,但该字段返回的是字符的个数,如果字符串中含有中文字符的话,一个汉字占用两个字符的长度,此时获取的长度就不够精确,当然也看具体业务需要。以下方法可用于计算字符串长度,字符串中的一个汉字计为两个字符。
/// <summary> /// 得到字符串长度,一个汉字长度为2 /// </summary> /// <param name="inputString">参数字符串</param> /// <returns></returns> public static int StrLength(string inputString) { System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding(); int tempLen = 0; byte[] s = ascii.GetBytes(inputString); for (int i = 0; i < s.Length; i++) { if ((int)s[i] == 63) tempLen += 2; else tempLen += 1; } return tempLen; }
备注:此文转载自C#计算字符串长度,汉字算两个字符_IT技术小趣屋。
以上是关于CString 如何得到字符串的长度,是字符个数?不是GetLength的主要内容,如果未能解决你的问题,请参考以下文章