#include <stdio.h>
int del(char *str,char const *sub)
{
int i=0,n=0,t=0,n2=0;
while(*(sub+i)!='\0')//0~n-1
i++;
n=i;//n是sub的长度
i=0;
while(*(str+n2)!='\0')//0~n-1
{
if(*(str+n2)==*(sub+i))
{
i++;
}
n2++;//n2是str的长度
if(i==n)
{
t=n2-i;//sub[0]在处出现
i++;//破坏循环
}
}
char *str2=str;
char *copy=str;
for(i=0;i<(n2-n-t);i++)
{
*(str2+t+i)=*(copy+t+n+i);
}
*(str2+t+i)='\0';
}
int main() {
char strs[]="asdfg";
del(strs,"sd");
printf("%s\n",strs);
return 0;
}
指针部分的实现原理可以看我的上一篇博客。