void Bank::backup(void) {
if(fp == NULL) //Αν μέχρι τώρα δεν έχω ξανανοίξει το αρχείο
fp = fopen(FILE_NAME, "wb");
rewind(fp); //Πηγαίνω στην αρχή για καλό και για κακό
fwrite((const void *)&next_id, sizeof(next_id), 1, fp); //Γράφω το επόμενο διαθέσιμο id
for(Client *dummy = list; dummy != NULL;dummy = dummy->next) //Ενώ το dummy δεν είναι NULL
fwrite(dummy, sizeof(Client), 1, fp); //Γράφω το τρέχοντα "πελάτη"
}
void Bank::load(void) {
fp = fopen(FILE_NAME, "rb");
Client *dummy;
fread(&next_id, sizeof(next_id), 1, fp); //Διαβάζω το επόμενο διαθέσιμο id
int i = 0;
for(list = dummy; i < next_id; i++, dummy = dummy->next) { //Ενώ υπάρχει και άλλος πελάτης στο αρχείο
dummy = (Client *) malloc(sizeof(Client)); //Κάνω allocate τον απαραίτητο χώρο
fread(dummy, sizeof(Client), 1, fp); //Διαβάζω έναν "πελάτη"
}
//dummy->next = NULL; //Αυτό είναι λάθος
//end = dummy; //Και αυτό επίσης
}
dm9pZCBCYW5rOjpiYWNrdXAodm9pZCkgewogICAgaWYoZnAgPT0gTlVMTCkJCQkJLy/Okc69IM68zq3Ph8+Bzrkgz4TPjs+BzrEgzrTOtc69IM6tz4fPiSDOvs6xzr3Osc69zr/Or86+zrXOuSDPhM6/IM6xz4HPh861zq/OvwogICAgICAgIGZwID0gZm9wZW4oRklMRV9OQU1FLCAid2IiKTsKCiAgICByZXdpbmQoZnApOwkJCQkJLy/OoM63zrPOsc6vzr3PiSDPg8+EzrfOvSDOsc+Bz4fOriDOs865zrEgzrrOsc67z4wgzrrOsc65IM6zzrnOsSDOus6xzrrPjAoJCglmd3JpdGUoKGNvbnN0IHZvaWQgKikmbmV4dF9pZCwgc2l6ZW9mKG5leHRfaWQpLCAxLCBmcCk7CQkvL86Tz4HOrM+Gz4kgz4TOvyDOtc+Az4zOvM61zr3OvyDOtM65zrHOuM6tz4POuc68zr8gaWQKCQogICAgZm9yKENsaWVudCAqZHVtbXkgPSBsaXN0OyBkdW1teSAhPSBOVUxMO2R1bW15ID0gZHVtbXktPm5leHQpCS8vzpXOvc+OIM+Ezr8gZHVtbXkgzrTOtc69IM61zq/Ovc6xzrkgTlVMTAogICAgICAgIGZ3cml0ZShkdW1teSwgc2l6ZW9mKENsaWVudCksIDEsIGZwKTsJCQkJLy/Ok8+BzqzPhs+JIM+Ezr8gz4TPgc6tz4fOv869z4TOsSAiz4DOtc67zqzPhM63Igp9Cgp2b2lkIEJhbms6OmxvYWQodm9pZCkJewoJZnAgPSBmb3BlbihGSUxFX05BTUUsICJyYiIpOwoJQ2xpZW50ICpkdW1teTsKCWZyZWFkKCZuZXh0X2lkLCBzaXplb2YobmV4dF9pZCksIDEsIGZwKTsJCQkvL86UzrnOsc6yzqzOts+JIM+Ezr8gzrXPgM+MzrzOtc69zr8gzrTOuc6xzrjOrc+DzrnOvM6/IGlkCglpbnQgaSA9IDA7Cglmb3IobGlzdCA9IGR1bW15OyBpIDwgbmV4dF9pZDsgaSsrLCBkdW1teSA9IGR1bW15LT5uZXh0KQl7IC8vzpXOvc+OIM+Fz4DOrM+Bz4fOtc65IM66zrHOuSDOrM67zrvOv8+CIM+AzrXOu86sz4TOt8+CIM+Dz4TOvyDOsc+Bz4fOtc6vzr8KCQlkdW1teSA9IChDbGllbnQgKikgbWFsbG9jKHNpemVvZihDbGllbnQpKTsJCS8vzprOrM69z4kgYWxsb2NhdGUgz4TOv869IM6xz4DOsc+BzrHOr8+EzrfPhM6/IM+Hz47Pgc6/CgkJZnJlYWQoZHVtbXksIHNpemVvZihDbGllbnQpLCAxLCBmcCk7CQkJLy/OlM65zrHOss6szrbPiSDOrc69zrHOvSAiz4DOtc67zqzPhM63IgoJfQoJCgkvL2R1bW15LT5uZXh0ID0gTlVMTDsJCQkJCQkvL86Rz4XPhM+MIM61zq/Ovc6xzrkgzrvOrM64zr/PggoJLy9lbmQgPSBkdW1teTsJCQkJCQkJLy/Oms6xzrkgzrHPhc+Ez4wgzrXPgM6vz4POt8+CCn0=