Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di sky_451
    Registrato dal
    Apr 2003
    Messaggi
    194

    [C] Problema nel salvataggio di struct su file

    Primo di tutto vi posto un po' di codice

    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;
    }
    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?

    Grazie.
    "There is no dark side of the moon really. Matter of fact it’s all dark."

  2. #2
    Utente di HTML.it L'avatar di sky_451
    Registrato dal
    Apr 2003
    Messaggi
    194
    Forse mi rispondo da solo.
    Il problema probabilmente stava nel fatto che **matrix prima di passarlo alla funzione di salvataggio era già lavorato da altre funzioni che ho nel programma completo. Ancora cmq non sono sicuro che funzioni

    Per ora grazie.
    Ciao.
    "There is no dark side of the moon really. Matter of fact it’s all dark."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.