No tu hai scritto:
codice:
fprintf(stream,"%s",temp);
#ifdef DEBUG
printf("Scrivo su file");
#endif
// ciclo di controllo sul file
if (fopen("NTC.dat", "w+") == NULL)
{
printf("I can write the file %s\n");
return -1;
}
non
codice:
fprintf(stream,"%s",temp);
#ifdef DEBUG
printf("Scrivo su file");
#endif
// ciclo di controllo sul file
if ((fp=fopen("NTC.dat", "w+")) == NULL)
{
printf("I can write the file %s\n");
return -1;
} else {
fclose(fp);
}
In pratica apri il file e non hai modo di chiuderlo se viene aperto. E i file descriptor non sono infiniti. Altro di strano non appare in quel codice.