Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Ongelma muistialueen välittämisessä

sqwiik [10.12.2003 20:56:58]

#

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);
...

pellervoinen [10.12.2003 22:04:34]

#

Kokeile näin:

  fread(sdata, koko, 1, loader);

sqwiik [11.12.2003 08:36:07]

#

Kiitoksia, alkoi toimimaan!
Ilmeisesti koska sdata oli jo osoitin, niin uusi osoitinmerkintä laittoikin lataukseen tallennuksen muistiosoitteiden arvot. Eikä siitä mitään tullut...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta