

c-dynamicka struktura-ulozenie do suboru
zdravim,
nedari sa mi ulozit dynamicky alokovanu strukturu do binarneho suboru v jazyku C-otazka znie-nevie niekto ako to mam upravit, aby to islo?
deklaracia:
BOOK *kniha_pom;
-takto ju vytvorim:
kniha_pom=(BOOK *) malloc (sizeof(BOOK));
(BOOK je struktura s normalnymi(nie smernikovymi) premennymi).
a takto sa to snazim zapisat do suboru:
i=fwrite(&kniha_pom,sizeof(kniha_pom),1,f);
i vrati 1, subor je otvoreny s parametrom ab.
Predtym som to skusal s normalymi premennymi a vsetko islo tak ako malo-takze problem bude asi v prikaze zapisu do suboru.
...po zapisani pouzijem free(kniha_pom).
do suboru to nazapise to co je ulozene v danej strukture-v kniha_pom->* su udaje spravne(skusal som to cez krokovanie)-napr do struktury som poukaldal normalne slova a cez total commander-F3-binarny sa zobrazuje:˙
ţAuĽĽĽ
.
dik.
Prvý parameter vo fwrite je smerník na dáta, ktoré chceš uložiť. Ty tam namiesto toho posielaš adresu smerníka. Takže po vymazaní znaku "&" by to malo fungovať.
btw: Naozaj chceš otvárať súbor ako "ab" a nie "wb"?
...musim ot robit v C, lebo je to semestralna praca.
...chcem ako ab, lebo pridavam.
...nieco co sa bude dat vydolovat. ked som to robil cez normalne premenne, tak tam bolo vela stvorcekov, ale dali sa precitat aj tie slova, ktore som zadal.
...skusal som, ale bud to tiez robim zle, alebo je to tam zle ulozene(comu sa viac priklanam).
...nefunguje. pri normalnych premennych sa to tam musi uvadzat, pri smernikoch neviem. bez & sa ulozia prve 2 znaky, s & sa ulozia nejake nezmyselne znaky.
-skusal som namiesto tej 1 zadat vacsie cislo, vtedy sa to tam ulozi-ked som dal 100, ulozilo sa to cca 3x.
lenze som skusil ako oba parametre zadat sizeof(kniha_pom) a tak to zase neslo.
-btw nenapisal som, ale subor aj uzavriem.
Okrem toho ampersandu treba ešte zmeniť druhý parameter na sizeof(BOOK). Teraz tam je sizeof(kniha_pom), čo je veľkosť smerníka a nie veľkosť štruktúry.
jj, mal si pravdu.
...cize -bez & a size of(BOOK)
-povedal by som, ze som skusal kadejake kombinacie, ale tuto som asi preskocil.
...uz to ide aj precitat z toho suboru.
dik, vyriesene.
kniha_pom je adresa (je to smernik). Takze pred neho nemas cpat znak &, lebo ked tam das znak & tak potom zapises do suboru ten samotny smernik, a nie obsah struktury na ktoru odkazuje.