编写一个程序,在字符串中删除指定位置pos开始长度为len的字串

输入形式

第一行输入一个字符串,第二行开始位置pos和子串长度len。

【输出形式】

删除成功则输出删除子串后的字符串,删除不成功则输出error。
【样例输入1】

I am a boy!

2 3

【样例输出1】

I a boy!

【样例输入2】

I am a boy!

20 3

【样例输出2】

error


#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>

#define INITSIZE 1000
#define OK 1
#define ERROR 0

typedef struct{
  char* data;
  int length,stringsize;
}SqString;

//初始化
int InitString(SqString *S)
{
  S->data=(char *)malloc(INITSIZE * sizeof(char));
    if(!S->data)
        return ERROR;
    S->length=0;
    S->stringsize=INITSIZE;
    return OK;


}
//串赋值
int StrAssign(SqString *S,char *str){
  int i=0;
    while(*str)
        S->data[i++]=*str++;
    S->data[i]='\0';
    S->length=i;
    return OK;
}

//在串s中删除从第pos字符开始长度为len的字串
int DelSubPosition(SqString *s,int pos,int Len){
   













}

int main(){
    SqString s;
    char str[1000]={""};
    int pos,len;
    InitString(&s);
    gets(str);
    StrAssign(&s,str);
    scanf("%d %d",&pos,&len);
    if(DelSubPosition(&s,pos,len))
        puts(s.data);
    else
        printf("error\n");
    return 0;
}


//在串s中删除从第pos字符开始长度为len的字串
int DelSubPosition(SqString *s,int pos,int Len){
    int i = pos + Len;
    int strLen = s->length;
    if(i >= strLen){
        return 0;
    }
    while(i < strLen){
        s->data[i-Len]=s->data[i];
        i+=1;
    }
    s->data[i-Len] = '\0';
    s->length -= Len;
    return 1;
}