Così funziona.
codice:int nuovo( char *fname, STRUTTURA **St) { /* controlli vari sul nome del file */ FILE *fp = fopen(fname, "r"); if (!fp) return ERR; // ritorna un codice di errore /* non ci sono errori, inizializza */ (*St) = malloc(sizeof(STRUTTURA)); (*St)->file = fp; (*St)->stato = APERTO; // all'inizio APERTO di default (*St)->x = 1; // valore iniziale di default return 0; } int main() { STRUTTURA *A = NULL; int i; if( nuovo( "testo.txt", &A ) != ERR ) { fscanf( A->file, "%d", &i); printf("Intero (test) = %d\n", i ); fclose(A->file); }

Rispondi quotando