c语言删除函数声明 c语言 删除

求C语言删除函数运行说明

void del()

成都创新互联公司是一家专注于网站设计、网站制作与策划设计,云安网站建设哪家好?成都创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:云安等地区。云安做网站价格咨询:18980820575

{

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"); //页面显示诸如“按任意键继续……”

}

}

求大神,关于c语言删除函数

1. 函数开始的时候这两句话没有意义

p=(stud *)malloc(sizeof(stud));

q=(stud *)malloc(sizeof(stud));

你只是用了这两个指针,为它们分配空间一是没必要,二是内存会泄露

2. 看你的代码应该是有头结点的链表,搜索的时候p=head;p初始化为了head,指向了头结点,搜索的时候应该从p-next开始,而你用的while((p!=NULL)(strcmp(p-name,N)!=0)),应该用p-next!=NULL。而且后面删除的时候也删除的是p-next,所以比较的话也应该用p-next:strcmp(p-next-name,N)

C语言的删除函数

楼主的意思是在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]);

}

}


分享名称:c语言删除函数声明 c语言 删除
转载源于:http://hbruida.cn/article/ddjppco.html