int StrDelete(SeqString *S, int pos, int len) { int i;
if(pos< 0 || pos>(S->last-1)) return 0;
for(i=pos+len-1; i<=S->last;i++)//i下标 S->ch[i-len]=S->ch[i];
S->last=S->last-len; return 1; }
void main() {
SeqString s; int pos,len,n;
printf(\请输入一个字符串(以回车结束):\\n\ gets(s.ch);
s.last=strlen(s.ch);
printf(\请输入pos和len的值:\
scanf(\
n= StrDelete(&s, pos, len); if(n)
puts(s.ch); else
printf(\删除不成功\\n\ }
/************************************/
/* 下面这种方法也可以 */ /*
SeqString StrDelete(SeqString S, int pos, int len) { int i;
SeqString str;
str.last=0;
if(pos<=0||pos>S.last||pos+len>S.last+1||len<0)
return str;
for(i=0;i str.ch[i]=S.ch[i]; for(i=pos+len-1;i str.ch[i-len]=S.ch[i]; str.last=S.last-len; return str; } void display(SeqString s)//输出串 { int i; if(s.last>0) for(i=0;i printf(\ printf(\ } void main() { SeqString s; int pos,len; printf(\请输入一个字符串(以回车结束) gets(s.ch); s.last=strlen(s.ch); printf(\请输入pos和len的值:\ scanf(\ :\\n\
相关推荐: