Ver Mensaje Individual
  #8  
Antiguo 10-12-2013
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
[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.
Responder Con Cita