从二进制文件 record.dat 中读取姓名和成绩,并显示出来。C++
时间: 2024-02-22 14:55:32 浏览: 104
好的,以下是实现该问题的C++代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
class Student {
public:
int num;
string name;
double score;
};
int main() {
ifstream file("record.dat", ios::binary);
if (!file) {
cout << "打开文件失败!" << endl;
return 1;
}
while (true) {
Student s;
file.read((char*)&s, sizeof(Student));
if (file.eof()) {
break;
}
cout << "姓名:" << s.name << ",成绩:" << s.score << endl;
}
file.close();
return 0;
}
```
代码说明:
1. 定义了一个 Student 类,包含学号、姓名、成绩数据成员。
2. 打开二进制文件 record.dat,使用 ifstream 类,并指定打开方式为二进制模式。
3. 使用 while 循环读取文件中的 Student 对象,每次读取一个对象的大小为 sizeof(Student)。
4. 判断是否读到文件结尾,如果是则跳出循环。
5. 显示姓名和成绩,只需要访问 Student 对象的 name 和 score 属性即可。
6. 关闭文件。
阅读全文