如题所述
第1个回答 推荐于2016-11-24
C语言写的,gcc运行没有错误,你可以取func函数自己稍微修改下
#include <stdio.h>
#include <string.h>
//输入要删除的字符串,和指定连续字符。返回1成功,返回-1有误
int func(char *src, char *point)
{
int len1,len2;
int i = 0;
int count = 0;
len1=strlen(src);
len2=strlen(point);
if(len1 < len2)
{
printf("删除不成功,字符串有误!\n");
return -1;
}
while(src[i]!='\0')
{
if(strncmp(point,src+i,len1)!=0)
{
i++;
}
else
{
count++;/*若相等则记录第几个相同次数*/
memcpy(src+i,src+i+len2,len1-len2*count);
}
}
printf("buf=%s\n",src);
}
int main()
{
char src[128];
char point[128];
printf("请输入你要进行操作的字符串\n");
scanf("%s",src);
printf("请输入指定连续字符\n");
scanf("%s",point);
func(src,point);
return 0;
}
#include <stdio.h>
#include <string.h>
//输入要删除的字符串,和指定连续字符。返回1成功,返回-1有误
int func(char *src, char *point)
{
int len1,len2;
int i = 0;
int count = 0;
len1=strlen(src);
len2=strlen(point);
if(len1 < len2)
{
printf("删除不成功,字符串有误!\n");
return -1;
}
while(src[i]!='\0')
{
if(strncmp(point,src+i,len1)!=0)
{
i++;
}
else
{
count++;/*若相等则记录第几个相同次数*/
memcpy(src+i,src+i+len2,len1-len2*count);
}
}
printf("buf=%s\n",src);
}
int main()
{
char src[128];
char point[128];
printf("请输入你要进行操作的字符串\n");
scanf("%s",src);
printf("请输入指定连续字符\n");
scanf("%s",point);
func(src,point);
return 0;
}