C语言文件中的数据怎么删除?
如果我想要删除文件中某数据快的数据,要怎么删除,有一种方法是覆盖,怎么覆盖?如果不用覆盖有没有更好的方法?发一段代码:
void del() /*删除同学录中某个同学的信息*/
{
FILE *fp;
char str[10];
if ((fp=fopen("result.dat","rb+"))==NULL)
{
printf("打开文件错误!!!\n");
getch();
exit(1);
}
printf("请输入要删除的同学的姓名:");
scanf("%s",str);
system("cls");
while (fread(&stu,LEN,1,fp))
{
if (strcmp(stu.name,str)==0)
{
printf("该同学的信息为:\n");
printf("\n学号\t姓名\t联系电话\n");
printf("%s\t%s\t%s\n\n",stu.no,stu.name,stu.tel);
fseek(fp,-LEN,SEEK_CUR); /*位置指针移动到该数据块首位*/
fwrite("\0",LEN,1,fp);
fclose(fp);
break;
}
}
if (feof(fp))
{
printf("同学录中没有该同学的信息!!!\n");
}
}
void del() /*删除同学录中某个同学的信息*/
{
FILE *fp;
char str[10];
if ((fp=fopen("result.dat","rb+"))==NULL)
{
printf("打开文件错误!!!\n");
getch();
exit(1);
}
printf("请输入要删除的同学的姓名:");
scanf("%s",str);
system("cls");
while (fread(&stu,LEN,1,fp))
{
if (strcmp(stu.name,str)==0)
{
printf("该同学的信息为:\n");
printf("\n学号\t姓名\t联系电话\n");
printf("%s\t%s\t%s\n\n",stu.no,stu.name,stu.tel);
fseek(fp,-LEN,SEEK_CUR); /*位置指针移动到该数据块首位*/
fwrite("\0",LEN,1,fp);
fclose(fp);
break;
}
}
if (feof(fp))
{
printf("同学录中没有该同学的信息!!!\n");
}
}
...全文
相关推荐
数据结构习题集答案(C语言版严蔚敏)
C语言作为底层编程语言,其灵活性和效率使得它成为实现数据结构的理想选择。在习题集中,你可能会遇到如何用C语言定义和操作数据结构的问题,例如:1. 如何使用指针实现链表的插入、删除和遍历?2.
二叉查找树的C语言实现——插入,删除,查找
= NULL ? "找到" : "未找到"); return 0;}```以上就是二叉查找树在C语言中的基本实现,包括插入、查找和删除操作。
C语言程序设计报告.pdf
本文提及的是关于C语言程序设计的一份报告,主要内容包含对C语言的数据结构链表操作的实现,其中包括链表的增加节点、打印节点、删除节点、计算工作量、保存数据到文本文件等功能的实现。
c代码-堆的创建,插入,删除
在IT领域,堆是一种特殊的树形数据结构,通常用于实现优先队列或内存分配器。在C语言中,实现堆通常需要手动管理内存,因为C语言本身并不提供内置的堆数据结构。
嵌入式SQL——C语言访问数据库
这种方式极大地简化了数据库应用程序的开发,因为开发者可以在C语言程序中方便地执行各种数据库操作,如查询、插入、更新和删除数据。


