yuanminQAQ @ 2024-11-14 12:03:10
#include<stdio.h>
#include<string.h>
//插入字符的函数
void insertString(char *str, int pos, char *s) {
int len = strlen(str);
int slen = strlen(s);
// 从后往前移动
for(int i = len; i >= pos; i--) {
str[i+slen] = str[i];
}
// 插入新字符串
for(int i = 0; i < slen; i++) {
str[pos+i] = s[i];
}
}
int main(void)
{
int n;
scanf("%d",&n);
char str[1000],temp[1000];
char result[110][1000];
int tempa,tempb;
scanf("%s",str);
int method;
char *loc;
int final;
for(int i = 0 ; i < n ; i ++)
{
scanf("%d",&method);
if(method == 1)
{
scanf("%s",temp);
strcat(str,temp);
strncpy(result[i],str,strlen(str)+1);
printf("%s\n",str);
}
else if(method == 2)
{
scanf("%d %d",&tempa,&tempb);
strncpy(str,str+tempa,tempb);
str[tempb] = '\0';
strncpy(result[i],str,strlen(str)+1);
}
else if(method == 3)
{
scanf("%d",&tempa);
scanf("%s",temp);
insertString(str, tempa, temp);
strncpy(result[i],str,strlen(str)+1);
}
else if(method == 4)
{
scanf("%s",temp);
loc = strstr(str,temp);
if(loc == NULL)
{
final = -1;
}
else{
final = loc - str;
}
sprintf(result[i], "%d", final);
}
}
for(int i = 0 ; i < n ; i ++)
{
printf("%s\n",result[i]);
}
}