Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Il vettore p è stato dichiarato staticamente nel pezzo del main precedente alla chiamata della funzione che ti ho postato+Player hPlayer[NPLAYERS];

    In ogni caso se tu mi dici che posso eseguirla passo per passo allora sono io che non riesco.. visto che anche mettendo il segnalino quando attivo il debugger ho una scanf di scelta e finchè non faccio quella non posso scendere linea per linea, inoltre le scelte sono due con una crea la nuova partita e va tutto bene, con la scelta due la dovrebbe caricare ma crasha al volo

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Nel codice tu usi l'array

    p

    Ancora non hai mostrato cosa sia questo vettore p e mi parli del vettore hPlayer.
    Così non andiamo avanti.

    Mostra TUTTO il codice, compreso il main oppure non so cosa dirti e attenderai le risposte di altri utenti.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    Oregon hPlayer e p sono lo stesso vettore come puoi vedere dalla chiamata
    codice:
        Card *deck=NULL;
        int cardsLeftinthedeck;
        _Bool loadornew;
        Player hPlayer[NPLAYERS];
    if(loadornew == true){
           caricaPartita(deck, hPlayer, cardsLeftinthedeck);
        }else{
    ...
    codice:
    void caricaPartita(Card* deck, Player p[], int cardsleft){
     int i, j;
        FILE* fp=NULL;
        fp = fopen("partita.sav", "r+b");
        if(fp == NULL)
        exit(0);
        /*Caricamento players*/
        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 deck*/
        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);
        }
    }
    Ultima modifica di osvaldo01; 04-03-2017 a 13:03 Motivo: aggiunta [code]

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Vedo che l'ordine con cui leggi non è quello dei vari elementi nelle strutture ma la questione sarebbe anche vedere come hai scritto con le fwrite.

    Se non sai usare il debugger ed eseguire linea per linea, prova ad inserire delle printf tra le linee per capire dove si ferma l'esecuzione.

    Eventualmente posta il sorgente completo e il file .sav in uno zip e lo provo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #15
    Ho risolto, senza andare lontano il problema era che quando leggevo la stringa della frase non avevo messo il +1 delle stringhe, e non mi debuggava perchè l'avevo messa in relaese in ogni caso grazie per l'impegno

  6. #16
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ecco ... se avessi mostrato subito anche il codice della scrittura, si sarebbe risolto tutto molto prima ...

    E poi, scusa, se più volte si raccomanda di fare il debugging passo passo, controlla di essere nelle condizioni di farlo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Tag per questa discussione

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.