bel rompicapo...

ho un programma che tra le varie operazioni accoda 2 file binari in un file di output.
Il file di output è esattamente della dimensione che mi aspettavo (ovvero la somma dei due file di input esclusi alcune parti da eliminare). Di fatto quindi il file di output dovrebbe essere composto da una prima parte che contiene il primo file di input e da una seconda parte che contiene il secondo file di input. La prima parte è corretta (contiene il primo file di input) la seconda parte, pur essendo della dimensione del secondo file di input, è errata perchè contiene sempre lo stesso carattere (in esadecimale "CD"). La cosa strana è che, per cercare di capire dove possa essere l'errore, a video stampo tramite "printf" il contenuto della variabile che vado a scrivere nel file e la vedo correttamente!!!
Riporto le parti del codice che possono interessare:
codice:
FILE *fpi, *fpo;
char *BufferRecord;
...
fpo=fopen(NomeFileOutput,"wb");
for(ContatoreFile=0;ContatoreFile<NumeroDiFile;ContatoreFile++)
{
        ...
	fpi=fopen(NomeFileInput,"rb");
        while(get_filesize(ElencoFileInput[ContatoreFile])<ByteLetti)
	{
		....
                fwrite(BufferRecord,LenRecord+1,1,fpo);
                printf("%c",BufferRecord[0]);  //stampo a video il primo carattere del record e lo vedo correttamente!!!
        }
	fclose(fpi);
}
fcloseall();
in debug visualizzo la variabile BufferRecord prima di essere scritta e la vedo correttamente...
:berto: