Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- struct Player
- {
- int id = 0;
- char* name;
- int rank;
- };
- int main()
- {
- Player players[3]{ {11112607, new char[sizeof("MadMax")]{"MadMax"}, 398888},{11112802, new char[sizeof("Batman")]{"Batman"}, 258888},{11112902, new char[sizeof("Joker")]{"Joker"}, 158888} };
- std::ofstream outf;
- outf.open("file.dat", std::ios::binary);
- for (int i = 0; i < 3; i++)
- {
- outf.write((char*)&players[i].id, sizeof(int));
- outf.write(players[i].name, strlen(players[i].name) + 1);
- outf.write((char*)&players[i].rank, sizeof(int));
- }
- outf.close();
- for (int i = 0; i < 3; i++) { delete[] players[i].name; };
- Player readPlayers[3]{};
- std::ifstream inf;
- inf.open("file.dat", std::ios::binary);
- char buf[100];
- for (int i = 0; i < 3; i++)
- {
- inf.read((char*)&readPlayers[i].id, sizeof(int));
- for (int i = 0; inf.read(buf + i, 1), buf[i] and i < 100; i++);
- int strSize = strlen(buf) + 1;
- readPlayers[i].name = new char[strSize];
- strcpy_s(readPlayers[i].name, strSize, buf);
- inf.read((char*)&readPlayers[i].rank, sizeof(int));
- }
- inf.close();
- for (int i = 0; i < 3; i++)
- {
- std::cout << readPlayers[i].id << ' ' << readPlayers[i].name << ' ' << readPlayers[i].rank << '\n';
- }
- for (int i = 0; i < 3; i++) { delete[] readPlayers[i].name; };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement