十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
利用C语言删除字符串中所有指定的字符方法如下:
陆川网站建设公司成都创新互联,陆川网站设计制作,有大型网站制作公司丰富经验。已为陆川上千多家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的陆川做网站的公司定做!
1.基本方法是,编写函数fun:deletechar()。这个函数需要接受两个参数的传入,一个为该字符串str,另一个为想删除的字符c。通过对整个字符串的逐个遍历,凡是检测到字符为c,则删除此字符。具体实现代码如下:
2.在主函数,只需要接受用户输入的字符串,然后调用deletechar()函数,最后输出结果即可。主函数代码实现部分如下:
扩展资料:
1.remove()是C语言中的函数,一般作用是删除数组、链表对象所有的元素。函数原型是
2.remove()函数用于删除指定的文件,其原型如下:
参考资料:remove()函数-百度百科
楼主的意思是在str1中删除str2中出现的字符?那么改成:
#includestdio.h
void main ()
{
char str1[9]={'t','i','n','m','f','g','y','f','s'};
char str2[3]={'A','s','g'};
int i,k,l;
for(i=0;i9;i++)
{
l=0;
for(k=0;k3;k++)
{
if (str1[i]=str2[k])
{l=1;break;}
}
if l!=1
printf("%c",str1[i]);
}
}
可以自己写个函数,在源字符串中查找目标字符串并删除,后续字符依次前移。
void del()
{
STU a[20]; char tname[20];
int i=0,j,n=0;
FILE *fp;
printf("\t\t\t请输入要删除的姓名:");
scanf("%s",tname);
/*****以下内容是读取文件信息,并将文件中的信息与用户输入的姓名做比较,如果姓名相同,则删除该学生信息***/
if((fp=fopen("e:\\file1","rb"))==NULL) //打开文件file1
{printf("error!\n");exit(0);} //打开失败,报错并退出系统
while(fread(a[n],sizeof(STU),1,fp)!=0) //打开成功,每次从文件中读入一个STU结构大小的数据,并将其存入数组a[]中。直到文件内容结束。
n++;
/**该循环用于查找**/
for(i=0;in;i++)
if(strcmp(a[i].name,tname)==0) break; //找到姓名相同的学生了,结束循环。
if(i==n) //找完一遍,没找到
{ printf("\t\t\t没有找到!\n");
fclose(fp); //关闭文件file1
}
else //找到了同姓名的学生
{
/**该循环用于删除该学生信息**/
for(j=i;jn-1;j++) //从找到该学生的位置开始,依次把后面的数据前移,覆盖掉前一个
{
a[j]=a[j+1];
}
n=n-1; //学生总数减1
/****以下内容是更新文件,并提示用户删除成功****/
if((fp=fopen("e:\\file1","wb"))==NULL) //再次打开文件file1,把删除之后的信息保存到文件中
{printf("error!\n");exit(0);}
fwrite(a,sizeof(STU),n,fp); //每次往文件中写入一个学生的信息(即一个STU大小)
fclose(fp);
printf("\t\t\t删除成功!\n");
system("pause"); //页面显示诸如“按任意键继续……”
}
}