in poke parole deve incrementare la feof(pfdip) in modo tale che nn sia più uguale a 0 ora nn so se sta formula è corretta ma dovresti fare cosìOriginariamente inviato da doraemon83
Dove ho messo la freccia manca la lettura del campo successivo del file, per cui resta sempre sullo stesso non trovando mai la fine del file e ripetendo le stesse operazioni sullo stesso campo.codice:void stampadipend() { pfdip=fopen("dipendenti.txt","a"); if(pfdip==NULL) printf("errore apertura file"); else { while(feof(pfdip)==0) { fread(buffdip,sizeof(struct dipend),1,pfdip); pfana=fopen("anagrafe.txt","a"); if(pfana==NULL) printf("errore apertura file"); else { fread(buffana,sizeof(struct anagr),1,pfana); do { if(strcmp(buffdip->coddip,buffana->coddip)==0) { printf("il nome e%s\n",buffana->nome); c=1; <---------- } else { fread(buffana,sizeof(struct anagr),1,pfana); } } while((feof(pfana)==0)||(c!=1)); } fclose(pfana); } fclose(pfdip); } }
codice:while(feof(pfdip)==0) { fread(buffdip,sizeof(struct dipend),1,pfdip); pfana=fopen("anagrafe.txt","a"); if(pfana==NULL) printf("errore apertura file"); else { fread(buffana,sizeof(struct anagr),1,pfana); do { if(strcmp(buffdip->coddip,buffana->coddip)==0) { printf("il nome e%s\n",buffana->nome); c=1; <---------- } else { fread(buffana,sizeof(struct anagr),1,pfana); } } feof(pfdip)++;

Rispondi quotando