C语言中怎样删除字符串,,急求!!!!!!!!!!

 我来答
黒木4312
2011-06-09 · TA获得超过788个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:510万
展开全部
STRING Delete(STRING s,int i,int j) /* 调用Delete删除函数删除来删除字符串s1 */
{
int k;
for(k=i+j-1;k<=s.len;k++)
s.ch[k-j]=s.ch[k];
s.len=s.len-j;
return(s);
}
追问
编写一个程序,先读入一段正文,然后删除其中的单词from,in,at,an,on,最后显示该结果文本。谢谢,有急用啊。。。。。。。。。。。。
追答
#include
#include
#include
void delstr( char *src, char *dst)
{
int dstLen=0;
char *p, *q;
p = dst;
while( *p!='\0' )
{
++dstLen, ++p;
}

p=src;
q=dst;
while( *src!='\0' )
{
if( *q == '\0' )
{
p -= dstLen;
q=dst;
}else if( *src != *q )
{
q = dst;
}else
{
++q;
}
*p++ = *src++;
}
*p='\0';
}
int main()
{
int i=0;
char str[100];
char* a[5]={"from","in","at","an","on"};
printf("输入正文:");
scanf("%s",str);
for(i=0;i<5;i++)
delstr(str,a[i]);
puts(str);
return 0;
}
c-free下测试通过,子函数取自于互联网,莫怪!
qfgdwgm
2011-06-11 · TA获得超过444个赞
知道答主
回答量:328
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>

void fun(char *str)
{
int i;
char *p;
while(1){
while(*str && !(*str >='A' && *str<='Z')) str++;
if(*str)
{
p=str;
while(*p>='A' && *p<='Z') p++;
i=0;
while(*p) str[i++]=*p++;
str[i]='\0';
}
else break;
}
}

int main()
{
char str[]="12aABb3BDc";
fun(str);
puts(str);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式