#include "stdio.h"
char *match(char *str, char *want)
{
while(*want !='\0')
{
if(*str++ != *want++)
{
return NULL;
}
}
return str;
}
int del_substr(char *str, char const *substr)
{
char *next;
while(*str !='\0')
{
next = match(str,substr);
if(next !=NULL)
{
break;
}
str++;
}
if(*str == '\0')
{
return 0;
}
printf("str===%s\r\n",str);//DEFG
printf("next===%s\r\n",next);//FG
while(*str++ = *next++) //什么时候结束? 如果在主函数中用字符串常量:char *str = "ABCDEFG",那么在这里会出现段错误。
{
printf("str1===%c\r\n",*str);
printf("next1===%c\r\n",*next);
}
printf("str2===%c\r\n",*str);
printf("next2===%c\r\n",*next);
// if(next !=NULL)
// {
// int i=0;
// while(*next!='\0')
// { printf("strstr==%c\r\n",*str);
// printf("nextnext==%c\r\n",*next);
// *(str+i) = *(next+i);
// printf("strstr1==%c\r\n",str);
// i++;
// }
// *(str+i) ='\0';
// }
return 1;
}
int main()
{
char str[] = "ABCDEFG";
char substr[] = "DE";
int res = del_substr(str,substr);
printf("res===%d\r\n",res);
printf("str===%s\r\n",str);
}
删除字符串的一部分
最新推荐文章于 2022-09-22 13:32:53 发布