用c语言函数删除数据 C语言删除数据

C语言如何删除文件内容?

1、打开Sublime Text软件,新建一个C语言文件,然后导入C语言库

站在用户的角度思考问题,与客户深入沟通,找到枣强网站设计与枣强网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、做网站、企业官网、英文网站、手机端网站、网站推广、主机域名虚拟主机、企业邮箱。业务覆盖枣强地区。

2、接下来新建C语言的main函数,对文件的操作都会在main函数中进行

3、接下来调用C语言的fopen函数对文件进行打开操作

4、当打开文件以后就可以通过fgetc函数读取文件里面的内容

C语言编写函数,从一个排好序的整型数组中删去某数

#include stdio.h

void deletex(int a[],int n,int x)

{int i;

for(i=0;ina[i]x;i++);

if(i==n||a[i]x)

{printf("fail!\n"); return;}

for(;in;i++)a[i]=a[i+1];

n--;

for(i=0;in;i++)

printf("%d ",a[i]);

printf("\n");  

}

int main()

{int n,i,x,a[200];

char c=' ';

for(n=0;c!='\n';n++)

scanf("%d%c",a[n],c);

scanf("%d",x);

deletex(a,n,x);

return 0; 

}

用c语言函数删除数组中的数据

既然是数组,表示数据为线性阵列了,想删除其中一个数据,是不可能的,只能用该位置以后的数据整体平移一个位置覆盖当前位置。例如:数组数据 1 2 3 4 5 6 7,想删除3,那么得到的新数组为1 2 4 5 6 7,其中 4 5 6 7 数据的位置相对原始数组位置整体平移减小1。

当然想是想快速删除数据,可以考虑使用数据链表,对数组单链即可

C语言中如何删掉一个数据

# includestdio.h

# includestdlib.h

# define M 5

struct student

{

int number;

char name[20];

struct student *next;

};

struct student *p,*pp,*q,*qq,*pop,*temp,*head=NULL;

void main()

{

struct student* cat(struct student *p,struct student *head,int n);

int i=1;

while(i=M)

{

q=(struct student *)malloc(sizeof(struct student));

printf("输入第%d个结点学号和姓名:(注意有空格)\n",i);

scanf("%d %s",q-number,q-name);

if(head==NULL)

head=p=q;

p-next=q; //将新分配的结点连起来

p=p-next; //指针p指向最后一个结点

q-next=NULL; //最后一个结点的指针域置空

i++;

}

//输出构造的学生链表,作对照

printf("未被删除前:\n");

p=head;

while(p!=NULL)

{

printf("%d\t%s",p-number,p-name);

printf("\n");

p=p-next;

}

int n;

printf("请输入要删除的位置");

scanf("%d",n);

//删除结点

p=head;

pp=cat(p,head,n);

printf("元素被被删除后:\n");

while(pp-next!=NULL)

{

printf("%d\t%s",pp-number,pp-name);

printf("\n");

pp=pp-next;

}

//输出最后一个结点

printf("%d\t%s\n",pp-number,pp-name);

}

//删除一个结点

struct student* cat(struct student *p,struct student *head,int n)

{

int i=1;

while(p!=NULL)

{

//for循环使p指向要被删除的结点.q指向被删除结点的前一个结点

for(i=1;in;i++)

{

q=p;

p=p-next;

}

if(p==head) //删除结点为头结点时

{

head=p-next;

free(p);

return head;

}

else if(p-next==NULL) //删除结点为尾结点时

{

q-next=NULL;

free(p);

return head;

}

else

{

q-next=p-next; //删除非头尾结点时

free(p);

return head;

}

}

}

/*测试数据如下:*/

/*

输入第1个结点学号和姓名:(注意有空格)

1000 wang

输入第2个结点学号和姓名:(注意有空格)

1001 li

输入第3个结点学号和姓名:(注意有空格)

1002 zhang

输入第4个结点学号和姓名:(注意有空格)

1003 yan

输入第5个结点学号和姓名:(注意有空格)

1004 zhao

未被删除前:

1000 wang

1001 li

1002 zhang

1003 yan

1004 zhao

请输入要删除的位置1

元素被被删除后:

1001 li

1002 zhang

1003 yan

1004 zhao

*/

/*

输入第1个结点学号和姓名:(注意有空格)

1000 wang

输入第2个结点学号和姓名:(注意有空格)

1001 li

输入第3个结点学号和姓名:(注意有空格)

1002 zhang

输入第4个结点学号和姓名:(注意有空格)

1003 yan

输入第5个结点学号和姓名:(注意有空格)

1004 zhao

未被删除前:

1000 wang

1001 li

1002 zhang

1003 yan

1004 zhao

请输入要删除的位置3

元素被被删除后:

1000 wang

1001 li

1003 yan

1004 zhao

*/

/*

输入第1个结点学号和姓名:(注意有空格)

1000 wang

输入第2个结点学号和姓名:(注意有空格)

1001 li

输入第3个结点学号和姓名:(注意有空格)

1002 zhang

输入第4个结点学号和姓名:(注意有空格)

1003 yan

输入第5个结点学号和姓名:(注意有空格)

1004 zhao

未被删除前:

1000 wang

1001 li

1002 zhang

1003 yan

1004 zhao

请输入要删除的位置5

元素被被删除后:

1000 wang

1001 li

1002 zhang

1003 yan

*/

在C语言中如何把数组清空

有两种方法可以实现。为方便说明,定义整型数组a,并实现将a清空。inta[4]={1,2,3,4};1、通过数组遍历,逐个赋值为0。定义循环变量inti;for(i=0;i4;i++)a[i]=0;该程序功能为遍历数组a,逐个将元素赋值为0,实现清空效果。2、借助内存赋值函数memset,整体赋值为0。void*memset(void*dst,intvalue,size_tsize);这个函数的功能为将src上,大小为size字节的数据赋值为value。需要注意的是,该函数赋值是以字节为单位的。调用该函数时需要引用头文件string.h,即#includestring.h清空数组的代码为memset(a,0,sizeof(a));

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://myzitong.com/article/hjigjh.html