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

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


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

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

#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 недели спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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