阅读量:0
在C++中,可以使用read()函数从文件中读取结构体数组。下面是一个示例代码:
#include #include using namespace std; struct Student { string name; int age; }; int main() { int numStudents = 3; Student students[numStudents]; ifstream infile("students.txt", ios::binary); if (!infile) { cerr << "Error opening file" << endl; return 1; } infile.read(reinterpret_cast<char*>(students), sizeof(Student)*numStudents); for (int i = 0; i < numStudents; i++) { cout << "Student " << i+1 << ": " << students[i].name << ", " << students[i].age << " years old" << endl; } infile.close(); return 0; }
在此示例中,首先定义了一个包含学生姓名和年龄的结构体Student。然后在main函数中定义了一个包含3个学生的数组students。接着打开一个名为"students.txt"的二进制文件,并使用read()函数从文件中读取结构体数组。最后,遍历数组并输出每个学生的姓名和年龄。
注意:在使用read()函数时,需要将结构体数组强制转换为char*类型,以便与read()函数的参数匹配。