请你编写一个程序完成将三位学生信息写入二进制文件class.dat的功能,学生信息由键盘读入,存储在一个结构体数组中。 该结构体数组的定义如下: typedef struct studentMessage { char name[20]; char address[30]; char phone[12]; }stuMsg; stuMsg students[3]; 最终需要以fwrite函数将保存了学生信息的结构体数组写入到二进制文件class.dat中。 【输入形式】 一共三行,每行依次由学生姓名,学生地址,学生电话号码组成,以空格隔开。 【输出形式】 输出该结构体到二进制文件class.dat中.C
时间: 2024-02-21 19:59:54 浏览: 69
运用结构体数组与输入函数进行存放学生的学号姓名等数据
4星 · 用户满意度95%
下面是一个C语言程序,实现了将三位学生信息写入二进制文件的功能:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct studentMessage {
char name[20];
char address[30];
char phone[12];
} stuMsg;
int main() {
stuMsg students[3];
FILE *fp;
// 读入学生信息
for (int i = 0; i < 3; i++) {
scanf("%s %s %s", students[i].name, students[i].address, students[i].phone);
}
// 打开二进制文件
fp = fopen("class.dat", "wb");
if (fp == NULL) {
printf("Failed to open file!\n");
exit(1);
}
// 将学生信息写入文件
fwrite(students, sizeof(stuMsg), 3, fp);
// 关闭文件
fclose(fp);
return 0;
}
```
程序中使用了结构体数组来保存学生信息,通过循环读入三位学生的姓名、地址和电话号码,然后将结构体数组写入到二进制文件中。
注意,打开文件时需要使用二进制写入模式("wb"),并且在写入时需要指定写入的元素个数,本例中为3。写入完成后,文件需要关闭,否则可能会造成文件损坏。
阅读全文