Come si fa a sapere l'indirizzo di memoria di una fwrite()?

di Anonimizzato19033 il
5 risposte
Salve, sto usando delle fwrite () in dei cicli for -> size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
e volevo sapere se fosse possibile conoscere l'indirizzo di memoria in cui ogni volta vado ad effettuare la fwrite qual'è...
grazie

5 Risposte

  • size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
    L'indirizzo di memoria da cui prelevi i dati ce l'hai già, è ptr.
    La posizione in cui vai a scrivere sul file invece è la posizione corrente, vedi
    Se vuoi conoscere qual è la posizione corrente puoi richiamare ftell()
  • Ftell() funziona anche per il C o è solo per c++?
  • Ho fatto una fopen ("file.bin","wb") su un file e di volta in volta ci vado a scrivere dei file ma quando ho il contatore "cont==0" vorrei salvarmi l'indirizzo della prima wrirte che faccio sul file prima di andare a scrivere e poi fare le operazioni di incremento etc...
    Se avete soluzioni fatemi saere, tnx
    for (knows_offset2 = knows->knows_first; //moves trough the file
    knows_offset2 < knows->knows_first + knows->knows_n;
    knows_offset2++) {
    if (knows_map[knows_offset2] == person_offset) {
    if (count==0){keep_write=ftell(o1);}<----- qui vorrei salvarmi l'indirizzo di memoria in una variabile
    fwrite(&knows_offset, sizeof(unsigned long), 1, o1);
    count++;
    count_write++;
    printf("%u", knows_offset);
    break;
    }
  • ho fatto una fopen ("file.bin","wb") su un file e di volta in volta ci vado a scrivere dei file ma quando ho il contatore "cont==0" vorrei salvarmi l'indirizzo della prima wrirte che faccio sul file prima di andare a scrivere e poi fare le operazioni di incremento etc...
    Se avete soluzioni fatemi saere, tnx
    spiega meglio. Magari illustra il problema con dello pseudo-codice.
Devi accedere o registrarti per scrivere nel forum
5 risposte