如何用C语言删除数据库文件中的其中一条数据

2024-12-19 22:54:13
推荐回答(3个)
回答1:

工作10年,还没有人会对文件直接这么操作的。最简单的方法是把内容从文件中读到内存,然后在内存删除修改后,再写回文件中。计算机的写文件等速度非常快的,不用担心。

回答2:

代码:
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");
}
}

回答3:

MFC里有种串行化的思想,可以借鉴一下~~~