Jump to content
СофтФорум - всё о компьютерах и не только

запись в конец файла с++

Recommended Posts

помогите исправить ошибку, нужно чтобы каждая запись записывалась в конец файла, а у меня получается, что каждая записывается поверх предыдущей, как это исправить.

#include <iostream>#include <fstream>#include <string>using namespace std;struct Person {   char firstname[15];   char lastname[15];   char address[30];   size_t recordNum;   size_t insuranceNum;};ostream& operator<<(ostream& os, const Person& p) {   cout << p.firstname << endl        << p.lastname << endl        << p.address << endl        << p.recordNum << endl        << p.insuranceNum << endl;}class DataBase {   public:       size_t query(size_t ssn);       Person retrieve(size_t rn);       void add(const Person& p);};void DataBase::add(const Person& p) {   ofstream fout("database.bin", ios::binary);   fout.seekp(0, ios::end);   fout.write(reinterpret_cast<const char*>(&p), sizeof(p));}int main() {   DataBase db;   Person np;   for (int i = 0; i < 2; i++) {       (cin >> np.firstname).get();       (cin >> np.lastname).get();       (cin.get(np.address, 30)).get();       (cin >> np.insuranceNum).get();       (cin >> np.recordNum).get();       db.add(np);   }   ifstream fin("database.bin", ios::binary);   while (fin.read(reinterpret_cast<char*>(&np), sizeof(np)))       cout << np << endl;}
Link to comment
Share on other sites

ofstream fout("database.bin", ios::binary);   fout.seekp(0, ios::end);

замените на

ofstream fout("database.bin", ios::binary | ios::app);
Edited by Darhazer
Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...