Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813

    [c] scrittura in memoria di un file

    Ciao a tutti,
    con la funzione fopen, apro un file binario su cui voglio effettuare determinate modifiche, ma le modifiche che faccio le voglio salvare in ram, senza sovrascrivere il file e, successivamente, salvare i cambiamenti in un altro file.

    Dovrei fare un malloc grande quando il file oppure c'è una funzione di libreria che fa tutto da solo?

    vi ringrazio anticipatamente
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  2. #2
    codice:
    char* fileInToRAM(const char *filename){
    
       FILE *fp = NULL;
       char *buffer = NULL;
       ssize_t size = 0;
    
       if((fp = fopen(filename,  "r+b")) == NULL){
    
          perror("fopen");
          exit(EXIT_FAILURE);
       
       }
    
       fseek(fp, 0L, SEEK_END);
       size = ftell(fp);
       fseek(fp, 0L, SEEK_SET);
    
       if((buffer = malloc(size * sizeof(char)) == NULL){
    
          exit(EXIT_FAILURE);
    
       }
    
       fread(buffer, size, 1, fp);
    
       return buffer;
    
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    ritorna l'indirizzo del primo byte del file?
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  4. #4
    Originariamente inviato da Hysoka
    ritorna l'indirizzo del primo byte del file?
    si.

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.