混合字符串字符数统计

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

汉字在计算机中的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

posted @ 2019-06-16 10:43  王清河  阅读(206)  评论(0编辑  收藏  举报