Wert in Binärdatei durch neuen ersetzen
-
Hallo,
versuche in einer Binärdatei per fread() und fwrite() Werte einzulesen und zu schreiben. Versuche (x-1) mal den wert einzulesen und dann den x-ten Wert zu überschreiben. Warum klappt das Schreiben nicht? Es tut sich einfach gar nichts. Nicht mal ne Fehlermeldung. Das reine Lesen und Anhängen von Daten funktioniert einwandfrei. Aber ich kann einfach keine Werte überschreiben.
void kunde::datensatz_in_datei_speichern(void)
{
fwrite(&id,sizeof(int),1,kundefile);
fwrite(&voller_datensatz,sizeof(int),1,kundefile);
fwrite(vorname,sizeof(char),max_stellen_kunde_vorname,kundefile);
fwrite(name,sizeof(char),max_stellen_kunde_name,kundefile);
fwrite(strasse,sizeof(char),max_stellen_kunde_strasse,kundefile);
fwrite(hnr,sizeof(char),max_stellen_kunde_hnr,kundefile);
fwrite(plz,sizeof(char),max_stellen_kunde_plz,kundefile);
fwrite(ort,sizeof(char),max_stellen_kunde_ort,kundefile);
}void kunde::datensatz_aus_datei_lesen(void)
{
fread(&id,sizeof(int),1,kundefile);
fread(&voller_datensatz,sizeof(int),1,kundefile);
fread(vorname,sizeof(char),max_stellen_kunde_vorname,kundefile);
fread(name,sizeof(char),max_stellen_kunde_name,kundefile);
fread(strasse,sizeof(char),max_stellen_kunde_strasse,kundefile);
fread(hnr,sizeof(char),max_stellen_kunde_hnr,kundefile);
fread(plz,sizeof(char),max_stellen_kunde_plz,kundefile);
fread(ort,sizeof(char),max_stellen_kunde_ort,kundefile);
}ich mache nun folgendes: ich lese (x-1) mal ein und rufe dann auf: kunde1.datensatz_in_datei_speichern();
warum tut sich nix? jemand ne idee?
cc
-
Wie öffnest du denn die Datei?