[code]bool BinToStr(BYTE *Bin, DWORD BinSize, char* Str, DWORD *StrSize) /CODE]
Bin: un puntero de tipo BYTE (char*) que apunta al buffer que contiene el binario a convertir a texto hexadecimal.
BinSize: El tamaño del buffer anterior.
Str: Un puntero tipo char* con un buffer que recibirá la salida del texto hexadecimal
StrSize: un puntero tipo DWORD con el tamaño del buffer Str.
Ejemplo
Supongamos que lees un binario en un puntero BYTE *Data de tamaño Size:
Código:
char *Str; // Puntero a un buffer que recibirá la cadena
DWORD StrSize; // tamaño del buffer
// Calculamos el tamaño de StrSize:
BinToStr(Data, Size, 0, &StrSize);
// reservamos memoria para Str
Str = new char[StrSize);
// Convertimos Data a hexadecimal
BinToStr(Data, Size, Str, &StrSize);
... No olvidar liberar el buffer Str cuando no nos haga falta (delete [] Str)
Ahora en Str tenemos una cadena ASCIIZ con un retorno de carro y línea al final y que contiene Data convertido a hexadecimal.
Saludos.