C语言问题描述】 请你编写一个程序完成将三位学生信息写入二进制文件class.dat的功能,学生信息由键盘读入,存储在一个结构体数组中。 该结构体数组的定义如下: typedef struct studentMessage { char name[20]; char address[30]; char phone[12]; }stuMsg; stuMsg students[3]; 最终需要以fwrite函数将保存了学生信息的结构体数组写入到二进制文件class.dat中。 【输入形式】 一共三行,每行依次由学生姓名,学生地址,学生电话号码组成,以空格隔开。 【输出形式】 输出该结构体到二进制文件class.dat中 【样例输入】 kate Tokyo 13777738738 Lucy Paris 13982837827 Andy London 18273829304
时间: 2024-02-23 21:57:33 浏览: 117
以下是可以实现该功能的C语言程序代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct studentMessage {
char name[20];
char address[30];
char phone[12];
} stuMsg;
int main() {
stuMsg students[3];
FILE* file = fopen("class.dat", "wb");
if (file == NULL) {
printf("无法创建文件!\n");
exit(1);
}
for (int i = 0; i < 3; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
scanf("%s %s %s", students[i].name, students[i].address, students[i].phone);
}
fwrite(students, sizeof(stuMsg), 3, file);
fclose(file);
printf("学生信息已成功保存至class.dat文件中!\n");
return 0;
}
```
程序运行后,会提示用户依次输入三个学生的信息,然后将这些信息存储在一个结构体数组中,并最终通过fwrite函数将该结构体数组写入到名为class.dat的二进制文件中。
阅读全文