在C++中(1)用二进制文件方式将n个学生的数据写入文件"student.dat";(2)从二进制文件"student.dat"中,将学生信息一个一个地读出,并在显示器上显示。学生(数据:姓名、学号、班级;操作:自定);
时间: 2024-02-19 16:58:19 浏览: 75
好的,我来回答你的问题。
首先,我们可以定义一个学生结构体,包含姓名、学号和班级信息:
```c++
struct Student {
char name[20];
char id[10];
char cls[10];
};
```
接着,我们可以编写一个函数 `writeToFile`,用于将 n 个学生的数据写入文件 "student.dat" 中。这个函数可以采用二进制文件的方式进行写入,代码如下:
```c++
void writeToFile(int n, Student* students) {
FILE* fp;
fp = fopen("student.dat", "wb");
if (!fp) {
printf("Failed to open file.\n");
return;
}
fwrite(students, sizeof(Student), n, fp);
fclose(fp);
}
```
最后,我们可以编写一个函数 `readFromFile`,用于从二进制文件 "student.dat" 中,将学生信息一个一个地读出,并在显示器上显示。代码如下:
```c++
void readFromFile() {
FILE* fp;
fp = fopen("student.dat", "rb");
if (!fp) {
printf("Failed to open file.\n");
return;
}
Student student;
while (fread(&student, sizeof(Student), 1, fp)) {
printf("Name: %s, ID: %s, Class: %s\n", student.name, student.id, student.cls);
}
fclose(fp);
}
```
这样,我们就完成了将 n 个学生的数据写入文件 "student.dat",以及从二进制文件 "student.dat" 中读出学生信息并在显示器上显示的操作。
阅读全文