程序结构 #include "sdtio.h" #include “stdlib.h” typedef struct student { int sno; char name[20]; int score[3]; } Student; int main() { FILE *fp; 定义结构体变量及其它需要的变量; 以wb的方式打开文件f1.dat; if(打开失败){ 输出失败信息; exit(1);} 读入第一个学生的学号; while(学号!=0) { 读入学生的姓名及成绩信息; 使用fwrite函数,将该学生的信息写入文件f1.dat中; 读入学生的学号; } 关闭文件fp; return 0; }
时间: 2024-01-27 15:04:49 浏览: 65
下面是一个类似的C程序实现将学生信息存储到磁盘文件中的例子:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct student {
int sno;
char name[20];
int score[3];
} Student;
int main() {
FILE *fp;
Student stu;
int sno, i;
if ((fp = fopen("f1.dat", "wb")) == NULL) { // 以wb的方式打开文件f1.dat
printf("无法打开文件!\n");
exit(1);
}
while (1) {
printf("请输入学号(输入0结束):");
scanf("%d", &sno);
if (sno == 0) {
break;
}
stu.sno = sno;
printf("请输入姓名:");
scanf("%s", stu.name);
printf("请输入3科成绩:");
for (i = 0; i < 3; i++) {
scanf("%d", &stu.score[i]);
}
fwrite(&stu, sizeof(Student), 1, fp); // 将结构体写入文件
}
fclose(fp); // 关闭文件fp
return 0;
}
```
在这个例子中,我们同样使用了一个结构体 `Student` 来存储学生信息。程序通过循环从键盘读入学生信息,并将其写入到磁盘文件 `f1.dat` 中。当输入学号为0时,输入结束。注意,我们使用了二进制文件进行读写操作,并且使用了 `fwrite` 函数将结构体写入文件,这样能够确保数据的完整性。
阅读全文