用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-04-01 18:32:06 浏览: 53
C语言 - 读写文件 - 二进制
以下是用C语言编写的程序,可以实现将三位学生信息写入二进制文件class.dat的功能:
```c
#include <stdio.h>
#include <string.h>
typedef struct studentMessage {
char name[20];
char address[30];
char phone[12];
} stuMsg;
int main() {
stuMsg students[3];
FILE *fp;
int i;
// 读入学生信息
for (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");
return -1;
}
fwrite(students, sizeof(stuMsg), 3, fp);
fclose(fp);
return 0;
}
```
程序中先定义了一个结构体`stuMsg`,包含学生的姓名、地址和电话号码。然后定义了一个存储学生信息的结构体数组`students`,大小为3,用于存储从键盘读入的学生信息。接着使用`fopen`函数打开二进制文件`class.dat`,并使用`fwrite`函数将学生信息写入该文件中。最后使用`fclose`函数关闭文件并返回0表示程序正常结束。
阅读全文