有大佬帮忙看下代码吗,呜呜呜呜呜呜呜呜呜呜呜
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
void InsertAfter(char *s1,char *s2)
{
int i=0,j=0;
while(s1[i++]!='\0');
i--;
while(s2[j])
s1[i++]=s2[j++];
}
void cut(char *s1,int i,int j)
{
int pos = 0,k=0,len=0;
char t[101] = { 0 };
for (int pos = i; pos <= j+i; pos++)
t[pos - i] = s1[pos];
cout <<t << endl;
len=strlen(t);
while(s1[i])
s1[i++]='\0';
for(int k=0;k<len;k++)
s1[k]=t[k];
}
void Insert(char *a,int pos,char *b)
{
char t[101] = { 0 };
int len1 = strlen(a), len2 = strlen(b);
for (int i = pos; i < pos+len2; i++)
t[i - pos] = a[i];
for (int j = pos; j < len2+pos; j++)
a[j] = b[j - pos];
int len3 = strlen(t);
for (int i = 0; i < len3; i++)
a[pos+len2 + i] = t[i];
}
int bf(char *s1,char *s2)
{
int l1=strlen(s1),l2=strlen(s2);
int i=0,j=0,pos=0;
if(s1==NULL||s2==NULL)
return -1;
while(i<l1&&j<l2)
{
if(s1[i]==s2[j])
i++,j++;
else
{
i=i-j+1;j=0;
}
}
if(i>l1)return -1;
else return i-j;
}
int main()
{
char c=0;
int n=0,num=0,a=0,b=0;
char s[101]={0},t[101]={0};
cin>>n>>s;
while(n--)
{
cin>>num;
switch(num)
{
case 1:
cin>>t;
InsertAfter(s,t);
cout<<s<<endl;
break;
case 2:
cin>>a>>b;
cut(s,a,b);
break;
case 3:
cin>>a>>t;
Insert(s,a,t);
cout<<s<<endl;
break;
case 4:
cin>>t;
cout<<bf(s,t);
break;
}
}
}