CString 如何得到字符串的长度,是字符个数?不是GetLength

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CString 如何得到字符串的长度,是字符个数?不是GetLength相关的知识,希望对你有一定的参考价值。

比如:
CString str = "ab大";
我的意思是,我想取出来的字是3,面不是4!
GetLength 这个函数是以字节来计算的!

我是要的是字符个数!
请问有什么办法 吗?

参考技术A 一个方法:
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的主要内容,如果未能解决你的问题,请参考以下文章

js获取数组长度,对象成员个数字符串字数

实现:EDIT控件字符个数与长度的计算

cstring 限制字符长度

含有重复字符的字符串排列组合

字符串子串去重之后的个数

CString 取字符串