Prova a stampare il valore di errno (includendo errno.h) laddove hai problemi con l'istruzione perror(NULL) o fprintf(stderr, "%s", strerror(errno));
Comunque così a occhio...
non ne comprendo il senso... verifichi se file2 può essere aperto in lettura binaria; se è possibile, lo elimini (?) dopodiché riapri entrambi i file in lettura... a parte che file2 credo debba essere aperto in modalità wb visto che vuoi scriverci (ma hai scritto rb), è ovvio che se elimini dal FS file2 e poi provi ad aprirlo in lettura avrai un errore, non puoi leggere da un file che non esiste.codice:if(canopen(file2, "rb")) { remove(file2); } f1 = fopen(filename, "rb"); f2 = fopen(file2, "rb"); if (f1==NULL || f2==NULL) { fprintf(stderr, "Error opening files.\n"); fclose(f1); fclose(f2); return false; }

Rispondi quotando