c语言删除函数是,C语言中删除

C语言编程。函数Delete()

void delete_student(student *L,long studentnum)

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、芝罘网络推广、重庆小程序开发、芝罘网络营销、芝罘企业策划、芝罘品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供芝罘建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

{

int flag = 0;

student * p = L,*q = p-next;

while(q)

{

if(q-number == studentnum)

{

flag = 1;

q = q-next;

break;

}

else

{

p = q;

q = q-next; /*下一个结点*/

}

}

if(flag == 0)

printf("删除学生失败,不存在这个学号的学生\n");

else{

printf("删除学生成功! \n ");

}

}

求大神,关于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语言怎样删除文件

首先要说明的是这里并不是指删除C编译器里面的文件,呵呵,如果只是要删除那些文件的话,那就很简单,直接选中文件后按delete键就可以删除了,但是我们删除那些文件干嘛?我们还要用它写程序啊,呵呵。我在这里要说的是,怎样使用C语言编写程序来删除文件。

在C语言中,我们可以使用remove()函数来删除指定的文件,具体语法为:

Int remove(char *filename);其中filename是一个指向字符串的指针,该字符串可以组成有效的文件名,也可以包含路径说明。如果我们要删除D盘下的ABC.txt文件,我们就可以这样写:remove(“D:\ABC.txt”);

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语言编写一个插入删除函数

一般呢,插入和删除函数是分开写的,还有分成两种存储结构,1.顺序表,2.链表,我给你一个我上数据结构时候写的链表的操作,里面全都有,如果不会用,追问我

#includestdio.h

#includemalloc.h

#includeWindows.h

#includeconio.h

#includestdlib.h

typedef struct

{

int data;

struct LNode *next;

}LNode;

LNode *Listinit(LNode *L)//初始化链表返还头指针

{

L = (LNode *)malloc(sizeof(LNode));

if (!L)return 0;

L-next = NULL;

return L;

}

int GetElem_L(LNode *L, int i, int *e)//取第i个元素

{

int j;

LNode *p;

p=L-next;j=1;

while(pji)

{

p=p-next;++j;

}

if(!p||ji) return 0;//i超过表长

*e=p-data;

return 1;

}

int ListInsert_L(LNode *L, int i, int e)//插入数据元素

{

LNode *p1 = L,*p2=L;

int j = 0;

if (i-1 LinkLength(L))

return 2;

while(p1!=NULL ji-1)

{

p1 = p1-next;

j++;

}

p2 = (LNode *)malloc(sizeof(LNode));

if (!p2)

return 0;

p2-data = e;

p2-next = p1-next;

p1-next = p2;

return 1;

}

void ClearList(LNode *L)//重置为空表

{

LNode *p;

while(L-next)

{

p=L-next;

L-next=p-next;

free(p);

}

}

void print_link(LNode *L)//输出函数

{

LNode *p = L;

p = p-next;

while (p != NULL)

{

printf("%5d", p-data);

p = p-next;

}

}

int ListDlete_L(LNode *L, int i, int *e)//删除L中I,并用e返回

{

int j = 0;

LNode *p1 = NULL, *p2 = NULL;

p1 = L;

while (p1-next != NULL j i - 1)

{

p1 = p1-next;

j++;

}

if (p1-next == NULL || j i - 1)

return 0;

p2 = p1-next;

p1-next = p2-next;

free(p2);

return 1;

}

int LinkLength(LNode *L)//链表的长度

{

int i = 0;

LNode *p = L-next;

while (p != NULL)

{

i++;

p = p-next;

}

return i;

}

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

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

}

}


网页名称:c语言删除函数是,C语言中删除
网页地址:http://scyanting.com/article/hspipg.html