删除指定字符串
想请教大家为什么程序运行后没有删除指定的字符呢。。。。#include<iostream>
using namespace std;
int delete_sub_str(const char *str, const char *sub_str,char *result_str)
{
int m=0,i=0,j=0,k=0;
if(strlen(str)==0||strlen(sub_str)==0||strlen(result_str)==0)
{
result_str[k]='\0';
return -1;
}
if(strlen(str))
{
memcpy(result_str,str,strlen(str)+1);
return 0;
}
while(str[i]!='\0')
{
int temp=i;
while(( str[i]==sub_str[j])&&( str[i]!='\0')&&(sub_str[j]!='\0'))
{
i++;
j++;
}
if(sub_str[j]=='\0')
{
m++;
j=0;
}
else
{
i=temp;
result_str[k++]= str[i++];
j=0;
}
}
result_str[k]='\0';
return m;
}
int main()
{
const char str[50]="abcde123abcd123";
char sub_str[50]="123";
char result_str[50];
int m= delete_sub_str(str,sub_str,result_str);
cout<<"result="<<result_str;
cout<<endl;
cout<<m<<endl;
return 0;
}