Problema file binario in scrittura

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Problema file binario in scrittura

    Nella struttura le dimensioni dell'array è sbagliato, deve essere

    short lo[5][10];
  • Re: Problema file binario in scrittura

    Grazie, ora funziona.
    Intanto inizio a provare append, modifiche dei dati gia memorizzati. Se ho problemi chiedo ancora.
    Grazie dei nuovo.
  • Re: Problema file binario in scrittura

    Dubbio: creato file binario, vorrei correggere un dato, che metodo si usa?
    Leggo tutto il file binario ne creo uno uguale e poi quando arrivo al dato da correggere inserisco quello esatto.
    Esiste un comando per scrivere direttamente sopra al dato da cambiare?
    Grazie
  • Re: Problema file binario in scrittura

    No, esegui la fseek fino al dato da cambiare e la fwrite per cambiare quello precedente. A patto che la struttura non cambi dimensioni.
  • Re: Problema file binario in scrittura

    
    typedef struct estrazione
    {
      short lo[4][9];
      short ind;
      short anno;
      char mese[15];
      
      
    } lot;	
    Al posto di char mese[15] cosa potrei usare?, ho difficolta nell'iserire il mese direttamente, se è input da tastiera non c'e' problema ma se devo assegnargli come mese "gennaio" come riesco?
  • Re: Problema file binario in scrittura

    Con la strcpy
  • Re: Problema file binario in scrittura

    oregon ha scritto:


    Con la strcpy
    Perfetto, grazie
  • Re: Problema file binario in scrittura

    
    fp = fopen("estrazioni.dat","wb");
    if (!fp)
    	  cout << "erroe creazione file";
    	 else 
    	while (!feof(fp))
    	{
    	
    	   fread(&lotto,sizeof(lotto),1,fp);
    	   cout<<lotto.anno<<endl;
    	   cout<<lotto.mese<<endl;
    	   cout<<lotto.ind<<endl;
    	   cout<<lotto.lo[4][9]<<endl;
    	   cout<<"mese da modificare :"<<endl;
    	   
    	   strcpy (lotto.mese, "aprile");
    	   
    	   	fseek(lotto,0,0);
    	   	fwrite(&lotto,sizeof(lot),1,fp);
    	 	   	 
         }
    	   fclose(fp);
    
    Qui mi vorrei posizionare nel primo blocco e cambiare il nome del mese in marzo, però mi da errore nel fseek
    [Error] cannot convert 'estrazione' to 'FILE* {aka _iobuf*}' for argument '1' to 'int fseek(FILE*, long int, int)'
    Come posso risolvere?
  • Re: Problema file binario in scrittura

    L'errore dice tutto. Quali sono gli argomenti della fseek?
  • Re: Problema file binario in scrittura

    oregon ha scritto:


    L'errore dice tutto. Quali sono gli argomenti della fseek?
    Il nome del file, quanti byte devo contare, dove voglio scrivere.
    fseek(lotto,0,0);
    nome file: lotto
    inizio dal primo byte quindi zero
    scrittura inizio file , 0.
    Dove ho sbagliato?
  • Re: Problema file binario in scrittura

    Nome file? lotto?

    Ma che dici?
  • Re: Problema file binario in scrittura

    oregon ha scritto:


    Nome file? lotto?

    Ma che dici?
    Capito: fp
Devi accedere o registrarti per scrivere nel forum
26 risposte