采用字符数组方式存储两个字符串,并借助string库函数实现求长度和比较
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char a[100],b[1000];
cin.getline(a,100);
cin.getline(b,100);
int alen=strlen(a);
int blen=strlen(b);
int i=0,j=0;
for(i=0;i<alen;i++){
if(strncmp(a+i,b,blen)==0){
for(j=i;a[j]!='\0';j++){
a[j]=a[j+blen];
}
alen=strlen(a);
i-=blen;
}//if
}
cout<<a;
}
在PTA中借助gets读取字符数组报错,cin.getline可实现相同的操作
i-=blen是为了回退,以应对嵌套
实际上还有更简单的方法,在C++中可以采用String类,借助find,erase函数实现查找删除操作