Grazie per la risposta....ho fatto le modifiche suggerite e tutto funziona perfettamente.
Ora però sorge un altro problema: Dopo aver effettuato lo xor dei byte del buffer e vado a riscriverli nel file dal buffer con fwrite windws mi da errore dicendomi che si è tentato di leggere una locazione e la memoria non poteva essere written.
Sapete dirmi il perchè?
Questa è la parte di codice che ho aggiunto:
for(i=0;i<=fileLen;i++){
num=Buf[i];
num=num^key1;
Buf[i]=num;
i+=1;
num=Buf[i];
num=num^key2;
Buf[i]=num;
i+=1;
num=Buf[i];
num=num^key3;
Buf[i]=num;
}
fwrite(Buf, fileLen, 1, pf);
fclose(pf);
free(Buf);
}