用C语言建立一个数组将以下数据写入磁盘中保存起来,数据为:{ {"2020B200301","刘滨","男",18,{2020,9,20},70,85}, {"2020B200302","阚美娟","女",17,{2020,9,20},87,95}, {"2020B200303","胡大勇","男",17,{2020,9,20},69,80}, {"2020B200305","黎丽","女",18,{2020,9,20},68,88}, {"2020B200309","金鑫","男",19,{2019,9,1},90,85} }
时间: 2023-08-27 15:19:21 浏览: 124
可以使用C语言中的结构体数组来完成此任务。具体代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
struct student {
char id[12]; // 学号
char name[20]; // 姓名
char gender[4]; // 性别
int age; // 年龄
int birthday[3];// 生日,用数组表示,依次为年、月、日
int score1; // 分数1
int score2; // 分数2
};
int main() {
struct student stu[5] = {
{"2020B200301", "刘滨", "男", 18, {2020, 9, 20}, 70, 85},
{"2020B200302", "阚美娟", "女", 17, {2020, 9, 20}, 87, 95},
{"2020B200303", "胡大勇", "男", 17, {2020, 9, 20}, 69, 80},
{"2020B200305", "黎丽", "女", 18, {2020, 9, 20}, 68, 88},
{"2020B200309", "金鑫", "男", 19, {2019, 9, 1}, 90, 85}
};
FILE *fp;
if ((fp = fopen("data.bin", "wb")) == NULL) {
printf("Open file failed!\n");
exit(1);
}
fwrite(stu, sizeof(struct student), 5, fp);
fclose(fp);
return 0;
}
```
在这段代码中,首先定义了一个结构体 `student`,代表每个学生的信息。然后在 `main` 函数中,定义了一个包含5个元素的结构体数组 `stu`,并将数据初始化。接着使用 `fopen` 函数打开一个名为 `data.bin` 的二进制文件,并将 `stu` 数组中的数据写入文件中,最后关闭文件。
需要注意的是,在写入文件时,使用的是二进制写入模式 `"wb"`,这样可以确保数据写入文件时不会受到操作系统的改动,保证数据的完整性。
阅读全文