Teen sen näin:
FILE* fp = fopen("test1.dmm", "wb"); fwrite(&tile, 1, sizeof(tile), fp); fwrite(&bg , 1, sizeof(bg), fp); fwrite(&fg , 1, sizeof(fg), fp); fwrite(&acid, 1, sizeof(acid), fp); fwrite(&enemy, 1, sizeof(enemy), fp);
Ja loadissa sama mutta "rb" ja fread.
int tile[300*200]; int fg[300*200]; int bg[300*200]; bool acid[300*200]; int enemy[150*100];
Ongelmana on, että mappi ei lataudu kokonaan. w00t?
Mod. lisäsi kooditagit
Minulla ei ole mitään tietoa C/C++:n sielunelämästä, mutta ainakin Delphillä tiedostoon kirjoittamisessa ja sieltä lukemisessa on 256 merkin bufferi, eli sitä enempää ei saa luettua, saati kirjoitettua. Ratkaisin ongelman TKE-projektissani kirjoittamalla 256 merkin könttiä, jotka erotetaan asciimerkillä 254 toisistaan.
Janezki kirjoitti:
Minulla ei ole mitään tietoa C/C++:n sielunelämästä, mutta ainakin Delphillä tiedostoon kirjoittamisessa ja sieltä lukemisessa on 256 merkin bufferi, eli sitä enempää ei saa luettua, saati kirjoitettua. Ratkaisin ongelman TKE-projektissani kirjoittamalla 256 merkin könttiä, jotka erotetaan asciimerkillä 254 toisistaan.
Suosittelen tutustumaan TFileStream luokkaan :) Sillä voit mm. avata tiedoston ja muokata sitä keskeltä mistä kohtaa tahansa ja erittäin tehokkaasti, käytin sitä tuossa putkaposti kilpailussa.
Read() käskyllä voi lukea muutakin kuin merkkejä tai stringejä joita tuollainen rajoitus saattaa pelkästään koskea. Esim suoraan jonkun record tyypin voi kirjoittaa tiedostoon sellaisenaan ja lukea sen.
User137 kirjoitti:
Suosittelen tutustumaan TFileStream luokkaan :) Sillä voit mm. avata tiedoston ja muokata sitä keskeltä mistä kohtaa tahansa ja erittäin tehokkaasti, käytin sitä tuossa putkaposti kilpailussa.
Nojoo, on minulla noita sivistysaukkoja ohjelmointitaidoissa. Oletin kuitenkin kustomoidun kirjoitustavan olevan paras, ottaen huomioon kryptaus, lokiin kirjoittamisen sekä suuret taulukot.
Koodissasi ei kuulu käyttää &-merkkejä, koska taulukon nimi on jo itsessään osoitin.
taulu == &taulu[0]
, mutta &taulu
on taas jotain aivan muuta, jota et tuossa missään nimessä kaipaa.
Janezki: Suosittelen binaarimuotoista tallennusta. Enpä ole itse tuollaisiin rajoituksiin törmännyt edes tekstimuotoisen datan kanssa...
Metabolix kirjoitti:
Janezki: Suosittelen binaarimuotoista tallennusta. Enpä ole itse tuollaisiin rajoituksiin törmännyt edes tekstimuotoisen datan kanssa...
Kokeilin binaarimuotoista, mutta siinäkin vasta tulikin ongelmia. Tosin binääri voisi nyt toimia paremmin kun sain könttisysteemini toimimaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.