#include <stdio.h>
#include <string.h>
void byteArrayToHexString(const unsigned char* byteArray, int length, char* hexString) {
char buffer[3]; // for two hex digits + null terminator
hexString[0] = '\0'; // start with an empty string
for (int i = 0; i < length; i++) {
sprintf(buffer, "%02X", byteArray[i]);
strcat(hexString, buffer);
}
}
int main() {
unsigned char byteArray[] = {3, 10, 7, 15, 12, 255};
int length = sizeof(byteArray) / sizeof(byteArray[0]);
char hexString[2 * length + 1]; // two characters per byte, plus null terminator
byteArrayToHexString(byteArray, length, hexString);
printf("Hex String: %s\n", hexString);
return 0;
}
/*
run:
Hex String: 030A070F0CFF
*/