Dunque. Per evitare ulteriori incomprensioni, ti posto il codice completo che st; usando.
codice:
#include <stdio.h>
#include <iostream.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>
char path[100];
int bintoascii()
{
//da binario ad asci
	FILE *pFile, *fw2;
   if((pFile = fopen("C:\\A\\out.hex","rb")) == NULL) return 0; //file esadecimale
   if((fw2 = fopen("C:\\A\\out2.txt","wb")) == NULL) return 0; //file risultante normale

int v;
char c;
unsigned char C;
while(fscanf(pFile, "%02X", &v)!=EOF)
{
   C = (unsigned char)v;
   fprintf(fw2, "%c", C);
}
		
fclose(pFile);
fclose(fw2);
}
int main()
{
//da ascii a binario
	
	
	
	FILE *fp, *fw;
   char c;

   if((fp = fopen("C:\\A\\file.exe","rb")) == NULL) return 0; //file normale
   if((fw = fopen("C:\\A\\out.hex","wb")) == NULL) return 0; //file uscente esadecimale

   while((c = fgetc(fp))!=EOF)
         fprintf(fw, "%02X", (unsigned char)c);

   fclose(fw);
   fclose(fp);
   bintoascii();
}
Non stò usando tutte le variabili.... la funzione da ascii a binaio presente nella main() funziona bene, però appena trova un carattere che non può convertire si ferma li. la funzioen esterna al main Funziona bene, quella non mi ha ancora dato problemi. Per adesso l'unico problema che devo risovbere èp la funzioen interna al main. devo far si che quando triova un carattere non valido lo ignora, senza bloccare la conversione. Spero di essermi spiegato bene. Ancoea grazie tante. Ciaooo