c语言如何删除一串字符串中指定的字符串
发布网友
发布时间:2022-04-20 18:44
我来回答
共2个回答
热心网友
时间:2022-04-17 16:15
#include
#include
void
del(char
*s,char
c)
{
int
i
=
0,j
=
0;
for(i=0;s[i]!='\0';)
{
if(s[i]==c)
{
for(j=i;s[j]!='\0';j++)
{
s[j]=s[j+1];
}
}
else
{
i++;
}
}
}
void
main(void)
{
char
s[80]={0};
char
c;
gets(s);
//从输入流读取一行,直至遇到换行符,windows回车键盘包含换行:\r\n
//getchar();
//从输入流读取一个字符,把这行注释掉
c=getchar();
//再读取一个字符
del(s,c);
//执行删除函数
puts(s);
//输出字符至输出流
system("pause");
/*按照你写的,你可以试试输入一个行字符串,回车一次,再回车一次,再输入删除字符*/
/*gets的作用是从输入流读取一行数据直到遇到换行符,所以你第一次回车是gets函数读取的*/
/*第二次回车,是getchar()读取的,再输入一个字符才是你读取的欲删除的字符*/
}
热心网友
时间:2022-04-17 17:33
#include
#include
intmain(){chars1[200],s2[200],temp[200],*p;printf("请输入一字串");scanf("%s",s1);printf("请输入要删除字串");scanf("%s",s2);p=strstr(s1,s2);if(p!=NULL){strncpy(temp,s1,p-s1);temp[p-s1]='\0';strcat(temp,p+strlen(s2));printf("删除后的字串为:%s\n",temp);}elseprintf("要删除字字串未找到!\n");return0;}