1 #include <iostream>
2 #include <fstream>
3 #include "Student.h"
4 using namespace std;
5
6 void displayStudent(const Student& student)
7 {
8 cout << student.getFirstName() << " ";
9 cout << student.getMi() << " ";
10 cout << student.getLastName() << " ";
11 cout << student.getScore() << endl;
12 }
13
14 int main()
15 {
16 fstream binaryio;
17 binaryio.open("student.dat", ios::out | ios::binary);
18
19 Student student1("FirstName1", 'A', "LastName1", 10);
20 Student student2("FirstName2", 'B', "LastName2", 20);
21 Student student3("FirstName3", 'C', "LastName3", 30);
22 Student student4("FirstName4", 'D', "LastName4", 40);
23 Student student5("FirstName5", 'E', "LastName5", 50);
24 Student student6("FirstName6", 'F', "LastName6", 60);
25 Student student7("FirstName7", 'G', "LastName7", 70);
26 Student student8("FirstName8", 'H', "LastName8", 80);
27 Student student9("FirstName9", 'I', "LastName9", 90);
28 Student student10("FirstName10", 'J', "LastName10", 100);
29
30 binaryio.write(reinterpret_cast<char*>
31 (&student1), sizeof(Student));
32 binaryio.write(reinterpret_cast<char*>
33 (&student2), sizeof(Student));
34 binaryio.write(reinterpret_cast<char*>
35 (&student3), sizeof(Student));
36 binaryio.write(reinterpret_cast<char*>
37 (&student4), sizeof(Student));
38 binaryio.write(reinterpret_cast<char*>
39 (&student5), sizeof(Student));
40 binaryio.write(reinterpret_cast<char*>
41 (&student6), sizeof(Student));
42 binaryio.write(reinterpret_cast<char*>
43 (&student7), sizeof(Student));
44 binaryio.write(reinterpret_cast<char*>
45 (&student8), sizeof(Student));
46 binaryio.write(reinterpret_cast<char*>
47 (&student9), sizeof(Student));
48 binaryio.write(reinterpret_cast<char*>
49 (&student10), sizeof(Student));
50
51 binaryio.close();
52
53
54 binaryio.open("student.dat", ios::in | ios::binary);
55
56 Student studentNew;
57
58 binaryio.seekg(2 * sizeof(Student));
59
60 cout << "Current position is " << binaryio.tellg() << endl;
61
62 binaryio.read(reinterpret_cast<char*>
63 (&studentNew), sizeof(Student));
64
65 displayStudent(studentNew);
66
67 cout << "Current position is " << binaryio.tellg() << endl;
68
69 binaryio.close();
70
71 return 0;
72 }