Se usi il semplice C (e non il C++ managed) con un progetto Win32 console, allora puoi scrivere semplicemente
codice:
#define BYTES 7
void ToHex(unsigned char *p, char *s)
{
int i;
for(i=0; i<BYTES; i++)
_snprintf(s+i*2, 2, "%02X", *(p+i));
*(s+i*2)=0;
}
int _tmain(int argc, _TCHAR* argv[])
{
unsigned char b[] = {0x00, 0x12, 0x34, 0x56, 0xAA, 0x55, 0xFF};
char *st;
st=(char *)malloc(2*BYTES*sizeof(char)+1);
ToHex(b, st);
printf("%s\n", st);
free(st);
return 0;
}
che risulta comprensibile e facilmente adattabile a interfacce con DLL e altri linguaggi ...