Mam problem z nadpisaniem danych w pliku binarnym. Ponieważ jestem poczatkującym, więc niebardzo wiem, w jaki sposób to zrobić, ponieważ zauważam kilka problemów z tym związanych.
Oto co chce dokładnie zrobić.
Mam plik binarny bdący jakąśtam bazą danych, w którym zapisałem kilka struktur. Chcę wejść i podmienić danę jednej z zapisanych struktur.
Więc robię to następująco:
fstream plik;
plik.open("baza_autorow.dat", ios::in | ios::out | ios::app, ios::binary);
if(!plik) cout<<"Error!";
plik.seekp(pozycja); //przesywam dane do żądanej pozycji
plik.write((char*)&nowy_autor, sizeof(autorzy)); //i zapisuje moją nową strukture rzekomo na miejscu 'pozycja'
Okazuje się jednak, że zapisuje mi te dane zawsze na końcu pliku. Jakieś pomysły jak to wykonać?
Oto struktura którą zapisuje:
struct autorzy
{
char autor_id[5], imie[25], nazwisko[50];
float zarobek;
};
Spędza mi to sen z powiek, więc proszę o pomoc .... [glowa]