#include <stdio.h> #include <stdlib.h> typedef struct student { int sno; char name[20]; int score[3]; } Student; int main() { FILE *fp; Student stu; fp=fopen("f1.dat","wb"); if(fp==NULL) {printf("cannot open"); exit(1); } int sno; scanf("%d",&sno); while(sno!=0) { stu.sno=sno; scanf("%s",&stu.name); scanf("%d %d %d",&stu.score[0],&stu.score[1],&stu.score[2]); fwrite(&stu,sizeof(struct student),1,fp); scanf("%d",&sno); } fclose(fp); fp = fopen("f1.dat", "rb"); if (fp == NULL) { printf("cannot open"); exit(1); } // 循环读取每个学生的信息,并打印输出 while (fread(&stu, sizeof(struct student), 1, fp) == 1) { printf("sno: %d\n", stu.sno); printf("name: %s\n", stu.name); printf("score1: %d, score2: %d, score3: %d\n", stu.score[0], stu.score[1], stu.score[2]); printf("\n"); } fclose(fp); return 0; }这串代码中如何实现文件数据的增加或者删除代码,请写一下
时间: 2024-01-25 22:03:08 浏览: 60
SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h
实现文件数据的增加或删除通常需要以下步骤:
增加数据:
1. 打开文件,将文件指针移动到文件末尾。
2. 输入要添加的数据,将其写入文件中。
3. 关闭文件。
下面是实现文件数据增加的代码示例:
```
fp = fopen("f1.dat", "ab"); // 以追加二进制方式打开文件
if (fp == NULL) {
printf("cannot open");
exit(1);
}
// 输入要添加的数据
Student stu;
stu.sno = 1001;
strcpy(stu.name, "张三");
stu.score[0] = 80;
stu.score[1] = 85;
stu.score[2] = 90;
fwrite(&stu, sizeof(struct student), 1, fp); // 将数据写入文件
fclose(fp); // 关闭文件
```
删除数据:
1. 打开文件,将文件指针移动到要删除的
阅读全文