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