mam pole struktur a potrebuju ho nacist do binarniho souboru, ale pri pouziti funkce fwrite() program spadne. Soubor je otevreny v rezimu wb.
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
FILE *f;
typedef struct DATABAZE
{
int cislo;
char nazev_knihy[50];
char autor[50];
};
DATABAZE zeli[5];
/* dejme tomu, ze v promennych pole struktur mam nejaka data, ted to potrebuju zapsat do binarniho souboru */
fwrite(zeli, sizeof(DATABAZE), 1, f); //program tady spadne, u prvniho parametru kompilator nevyzaduje & (jakto?)
/* druhy pokus */
for(i=0; i<5; i++)
{
fwrite(&zeli[i].cislo, sizeof(zeli[i].cislo), 1, f); //program tady spadne; u prvniho parametru kompilator vyzaduje &
fwrite(&zeli[i].nazev_knihy, sizeof(zeli[i].nazev_knihy), 1, f);
fwrite(&zeli[i].autor, sizeof(zeli[i].autor), 1, f);
}
v obou pripadech program spadne pri zapisovani pole struktur do souboru, takze asi spatne pouzivam funkci fwrite(), muze mi prosim nekdo poradit, jak to ma byt spravne?