混合字符串字符数统计

因为汉字占一个以上字节,如何统计一个既有汉字又有字母的字符串呢?

汉字在计算机中的ASCII是以负数来与其他普通字符的ASCII区分的。

#include<stdio.h>
int main()
{
    char buf[256] = "你好世界";
    printf("%d\n",buf[0]); //-60
    return 0; 
}

所以想要统计混合字符串中字符个数,就要用到这个特性。

#include<stdio.h>

int main()
{
    char buf[256] = "你好abc";
    int iLen = 0;
    int bufSize = 0;
    while(buf[iLen])
    {
        if(buf[iLen] < 0)
        {
             iLen++;
            // continue;
        }
        iLen++; 
         bufSize++;
    }
    printf("%d",bufSize);
}

输出结果:5

猜你喜欢

转载自www.cnblogs.com/wanghao-boke/p/11030212.html