
求C语言一个有关字符串的库函数,功能是从字符串s1中删除字符串s2中的所有字符,s1包含s2
求C语言一个有关字符串的”库“函数,功能是从字符串s1中删除字符串s2中的所有字符,s1包含s2如果没有这样的函数请编写一个函数delchar(s1,s2);作用是从字符...
求C语言一个有关字符串的”库“函数,功能是从字符串s1中删除字符串s2中的所有字符,s1包含s2
如果没有这样的函数请编写一个函数delchar(s1,s2);作用是从字符串s1中删除字符串s2中的所有字符。s1包含s2。
可不可以编一个完整的程序?我一定给分 展开
如果没有这样的函数请编写一个函数delchar(s1,s2);作用是从字符串s1中删除字符串s2中的所有字符。s1包含s2。
可不可以编一个完整的程序?我一定给分 展开
3个回答
展开全部
这是运用指针写的.可能你看不懂,但你可以把它收到你的函数库中,随时调用.
int delchar(char *s1,char *s2){
int i=0,len,flag=0;
char *p,*p1,*p2;
len=strlen(s2);
if(strlen(s1)<len)
return 0;
p=s1;
p1=s2;
while(*p){
i=0;
if(*p!=*p1){
p++;
flag=0;
continue;
}
if(*p==*p1){
p2=p;
while(*p1){
if(*p==*p1)
i++;
else
break;
p++;
p1++;
}
}
if(i==len){
*p2='\0';
break;
}
}
strcat(s1,p);
return 1;
}
main(){
char s[]="abcdefghijklm";
char s2[]="ghij";
puts(s);
delchar(s,s2);
puts(s);
getch();
}
int delchar(char *s1,char *s2){
int i=0,len,flag=0;
char *p,*p1,*p2;
len=strlen(s2);
if(strlen(s1)<len)
return 0;
p=s1;
p1=s2;
while(*p){
i=0;
if(*p!=*p1){
p++;
flag=0;
continue;
}
if(*p==*p1){
p2=p;
while(*p1){
if(*p==*p1)
i++;
else
break;
p++;
p1++;
}
}
if(i==len){
*p2='\0';
break;
}
}
strcat(s1,p);
return 1;
}
main(){
char s[]="abcdefghijklm";
char s2[]="ghij";
puts(s);
delchar(s,s2);
puts(s);
getch();
}
展开全部
我原来回答过这个问题,而且给出了比较标准的写法,不知道你有没有给我分。
你想要一个库函数,我只知道一个删除一个串中某个字符的库函数
squeeze(char s[], int c)
原型:delete all c from s */ void squeeze(char s[], int c)
如果要从s1中删除一个串s2,可以这样
for(int i=0; s2[i]!='\0'; i++)
squeeze(s1,s2[i]);
你想要一个库函数,我只知道一个删除一个串中某个字符的库函数
squeeze(char s[], int c)
原型:delete all c from s */ void squeeze(char s[], int c)
如果要从s1中删除一个串s2,可以这样
for(int i=0; s2[i]!='\0'; i++)
squeeze(s1,s2[i]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2008-08-16
展开全部
C语言中没有这样的库函数.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |