|

楼主 |
发表于 2020-4-8 12:26:36
|
显示全部楼层
Ch.c 用的就是楼上答案的代码,一模一样的。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char a[30]={'\0'}, b[30]={'\0'};
char *pa=a, *pb=b;
int c;
char ch;
int chsLen;
// 判断当前系统环境中文编码点用字节数
printf("当前环境中文编码占字节数为:%d\n", sizeof("财")-1); // -1 减\0
printf("输入:");
fgets(a, 30, stdin);
printf("复制数量:");
scanf("%d", &c);
while(c--)
{
ch=*pb++=*pa++;
if(ch=='\0')
break;
// 根据中文编码内存占用大小,再次复制剩佘字节
if((int)ch<0)
{
chsLen=sizeof("财")-1;
while(--chsLen)
{
*pb++=*pa++;
}
}
}
*pb='\0';
printf("结果:%s\n", b);
}
|
|