Giusto per puntualizzare: punta ad una struttura in cui la libreria standard C memorizza diverse informazioni relative allo stato del file (posizione al suo interno, handle del sistema al file, eccetera). Tuttavia, è una struttura "opaca", nel senso che non la si può modificare direttamente, ma solo tramite le funzioni di IO. Si può dire che ciascun FILE * identifica un file aperto, e questo basta.Originariamente inviato da ramy89
La parola chiave FILE indica il tipo di variabile,un puntatore a file se aperto correttamente indica l' indirizzo di memoria del file sul disco (se non erro),
= è l'operatore di assegnamento, per cui prima della modifica assegnavi a num il valore NULL, e per questo tutte le chiamate successive alle funzioni di IO fallivano (passavi NULL invece del FILE * che era stato restituito da fopen).Originariamente inviato da gip1975
grazie la parola FILE è una parola chiave ok capito
ho modificato il mio codice che non stampava su file da
acodice:if (num=NULL) printf ("errore");
e adesso salva i dati su file perchè?codice:if (num==NULL) printf("errore");
la riga di codice, nel primo listato,
L'asterisco nella dichiarazione di num serve, mentre per la chiamata ad fopen no.l'asterisco e la funzione (correggimi se il termine è errato) fopen() non serve giusto?codice:FILE *num, *fopen()

Rispondi quotando