Non riesco a caricare da un file binario.. il programma entra in segmentation fault subito appena la funzione viene chiamata senza permettermi di capire dove sta l'errore.. qualcuno puo aiutarmi?
int i, j;
p = NULL;
FILE* fp=NULL;
fp = fopen("salvataggio.sav", "r+b");
if(fp == NULL)
exit(-1);
codice:for(i=0;i<NPLAYERS; i++){ fread(&p[i].name, sizeof(char), DIM_N+1, fp); fread(&p[i].alive, sizeof(_Bool), 1, fp); if(p[i].alive == 1){ fread(&p[i].nHand, sizeof(int), 1, fp); fread(&p[i].player_type, sizeof(Type), 1, fp); p[i].hand=(Card*)malloc(p[i].nHand * sizeof(Card)); for(j=0; j<p[i].nHand; j++){ fread(&p[i].hand[j].phrase, sizeof(char), DIM_P, fp); fread(&p[i].hand[j].type, sizeof(seme), 1, fp); } } } Caricamento mazzo fread(&cardsleft, sizeof(int), 1, fp); deck=(Card*)malloc(cardsleft * sizeof(Card)); for(i=0; i<cardsleft; i++){ fread(&deck[i].phrase, sizeof(char), DIM_P, fp); fread(&deck[i].type, sizeof(seme), 1, fp); }

Rispondi quotando
