欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言实现中英文混合字符串截取

程序员文章站 2022-05-12 16:12:00
...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun(int m)
{
        char a[100]="china中国verygood";
    int len=strlen(a);
    int i;
    int n=0,j=0;
    int num[1000];
    for(i=0;i<len;i++)
    {
        if(a[i]>>7&1)//英文字符ascii码都小于128,中文字符由两个大于ascii128的字节组成  A1B0表示"啊"
        {
            num[n++]=i+2;//num数组元素保存截取字符串的长度,将中文字符转化成一个字符看
            i++;
        }
        else
        {
            num[n++]=i+1;
        }
        //printf("%d\t",num[n-1]);
    }
    //printf("\n");
    for(i=0;i<num[m-1];i++)
    {
        a[j++]=a[i];
    }
    a[j]='\0';
    printf("%s\n",a);
}

int main()
{
    fun(5);
    fun(6);
    fun(7);
    fun(8);

    return 0;
}

C语言实现中英文混合字符串截取

相关标签: c语言学习