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?![]()
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?![]()
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..
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 indirizzicodice:FILE *fopen(const char *File,const char *Mode) [ FILE Fil = malloc(sizeof(FILE)); Fil.file = File; Fil.Mode = Mode; return Fil; ]
"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
Ok grazie molto chiaro.....![]()