Originariamente inviato da kekkino
ciao qualcuno potrebbe dirmi perchè quando arriva a stampare printf("il nome e%s\n",buffana->nome), continua a stamparlo all'infinito(nn si ferma più)e nn esce più dal ciclo..grazie
PS:è una funzione ke lavora su 2 file e deve confrontare 2 campi
...
Così sembra funzionare, prova anche tu :master:
codice:
void stampadipend()
{
pfdip = fopen("dipendenti.txt", "rt");
if( pfdip )
{
while( ! feof(pfdip) )
{
fread(buffdip, sizeof(struct dipend), 1, pfdip);
pfana = fopen("anagrafe.txt", "rt");
if( pfana )
{
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);
}
getch();
}
while( !feof(pfana) && c!=1);
fclose(pfana);
}
else
printf("ERRORE : Impossibile aprire il file \"anagrafe.txt\"\n");
}
fclose(pfdip);
}
else
printf("ERRORE : Impossibile aprire il file \"dipendenti.txt\"\n");
return;
}