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;
}
上一篇: 原创一个微型的日志工具类
下一篇: 求两个数二进制中不同位的个数