Перейти к содержанию
СофтФорум - всё о компьютерах и не только

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


Рекомендуемые сообщения

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

#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;}
Ссылка на комментарий
Поделиться на другие сайты

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

замените на

ofstream fout("database.bin", ios::binary | ios::app);
Изменено пользователем Darhazer
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...