Kas niin... törmäsin kaikenkattavaan ongelmaan laatiessani parempaa tapaa tallettaa kykytaulukot.
Tallennusfunktio ottaa parametreina taulukon muistiviittauksen ja koon;
void ERKKI_save(char * fname, void * sdata, size_t koko) //esim. kutsu //ERKKI_save("peli.sav", &Kyvyt, sizeof(Kyvyt));
Kyvyt on kaksiuloitteinen taulukko.
Load-funktiossa on samat parametrit, mutta miksi Kyvyt-taulukko ei saa tietoa?
//kutsuttu: ERKKI_load("peli.sav", &Kyvyt, sizeof(kyvyt)); void ERKKI_load(char * fname, void * sdata, size_t koko){ ... //Eikö tässä pitäisi latauksen tapahtua... //koska sdata on pointteri ennestään, niin eikö //alkuperäisen Kyvyt-taulukon pitäisi latautua? //Vai meneekö tässä ajatukseni latu täysillä päin //katajaa ja kuusta? fread(&sdata, koko, 1, loader); ...
Kokeile näin:
fread(sdata, koko, 1, loader);
Kiitoksia, alkoi toimimaan!
Ilmeisesti koska sdata oli jo osoitin, niin uusi osoitinmerkintä laittoikin lataukseen tallennuksen muistiosoitteiden arvot. Eikä siitä mitään tullut...
Aihe on jo aika vanha, joten et voi enää vastata siihen.