Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    96

    Linguaggio C ---->fopen

    Se chiamo la fopen in lettura per 2 volte di seguito su un file esistente mi restituisce 2 indirizzi differenti ......perche?
    Non dovrebbe restituire lo stesso indirizzo?

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Certo che no.
    fopen restituisce un puntatore allocato alla struttura FILE, ma ciò non vuol dire che ti restituisca l'indirizzo di memoria del file.
    fopen fa una cosa del genere..
    codice:
    FILE *fopen(const char *File,const char *Mode)
    [
      FILE Fil = malloc(sizeof(FILE));
      Fil.file = File;
      Fil.Mode = Mode;
      return Fil;
    
    ]
    Come puoi vedere ritorna quindi un puntatore allocato da malloc alla struttura FILE, e quindi 2 chiamate di funzione allocherà due strutture FILE diverse e quindi due diversi indirizzi
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    96
    Ok grazie molto chiaro.....

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 © 2025 vBulletin Solutions, Inc. All rights reserved.