maniacquaker
Grünschnabel
Hallo,
ich habe einen pointer auf objekte einer klasse mitarbeiter, die dynamisch auf dem heap angelegt werden. bei programmende sollen alle objekte per fwrite in eine datei geschrieben werden. beim systemstart jedoch werden sie nicht geladen!
m ist mein pointer und cur_mitarbeiter das größte gültige feld.
dieser code funktioniert so nicht : fehler: mitarbeiter kann nicht nach void
umgewandelt werden (1. argument fread)
ich habe deshalb noch folgende dinge probiert, die aber uach nicht geklappt haben: 1. &(m[cur_mitarbeiter])
2. m+(cur_mitarbeiter)*sizeof(mitarbeiter)
am schönsten wäre es, wenn mir jemand sagen kann wie ich da die richtige
typumwandlung mache...
hier mein member:
void mhandler::load_from_file(){
FILE * fp = fopen(saved_mitarbeiter,"r"); // #define saved_mitarbeiter....
while((!feof(fp)) && !(ferror(fp))){ // ist komischweise auch true,
// wenn datei leer ist
if(cur_mitarbeiter==max_mitarbeiter) // wenn speicher voll
enlarge_array(2); // mehr felder anlegen (2)
fread((m[cur_mitarbeiter]),sizeof(mitarbeiter),sizeof(1),fp);
cur_mitarbeiter++;
}
fclose(fp);
}
danke im voraus!
ich habe einen pointer auf objekte einer klasse mitarbeiter, die dynamisch auf dem heap angelegt werden. bei programmende sollen alle objekte per fwrite in eine datei geschrieben werden. beim systemstart jedoch werden sie nicht geladen!
m ist mein pointer und cur_mitarbeiter das größte gültige feld.
dieser code funktioniert so nicht : fehler: mitarbeiter kann nicht nach void
umgewandelt werden (1. argument fread)
ich habe deshalb noch folgende dinge probiert, die aber uach nicht geklappt haben: 1. &(m[cur_mitarbeiter])
2. m+(cur_mitarbeiter)*sizeof(mitarbeiter)
am schönsten wäre es, wenn mir jemand sagen kann wie ich da die richtige
typumwandlung mache...
hier mein member:
void mhandler::load_from_file(){
FILE * fp = fopen(saved_mitarbeiter,"r"); // #define saved_mitarbeiter....
while((!feof(fp)) && !(ferror(fp))){ // ist komischweise auch true,
// wenn datei leer ist
if(cur_mitarbeiter==max_mitarbeiter) // wenn speicher voll
enlarge_array(2); // mehr felder anlegen (2)
fread((m[cur_mitarbeiter]),sizeof(mitarbeiter),sizeof(1),fp);
cur_mitarbeiter++;
}
fclose(fp);
}
danke im voraus!