Primo di tutto vi posto un po' di codice
Allora il problema è questo: tutti i campi della struct mi si salvano correttamente. Tutti tranne matrix. L'int **matrix che passo come parametro alla funzione è una matrice dinamica precedentemente allocata. Non sono ancora molto esperto di file e sto imparando adesso. Quacuno potrebbe aiutarmi con queste poche info che ho dato?codice:struct Salvataggio { int **matrix; int righe; int colonne; char giocatore1[20]; char giocatore2[20]; }; int salva_partita (int **matrix, int righe, int colonne, char *giocatore1, char *giocatore2) { char *filename = "save.dat"; FILE *fp; int vero=TRUE, falso=FALSE; struct Salvataggio *salvataggio; salvataggio = (struct Salvataggio *) malloc(sizeof(struct Salvataggio)); // alloco la memoria per una struct Salvataggio /* Salvo tutti i valori nei rispettvi campi della struttura */ salvataggio->matrix = matrix; salvataggio->righe = righe; salvataggio->colonne = colonne; strcpy(salvataggio->giocatore1, giocatore1); strcpy(salvataggio->giocatore2, giocatore2); if((fp = fopen(filename, "wb")) == NULL) // apro il file binario in scrittura return falso; // se il file non si apre correttamente la funzione termina if(fwrite(salvataggio, sizeof(struct Salvataggio), 1, fp) != 1) // salvo la struct Salvataggio nel file { fclose(fp); // se la scrittura non avviene correttamente return falso; // chiudo il file e la funzione termina } fclose(fp); // chiudo il file return vero; }![]()
Grazie.

Rispondi quotando