им пытаются преобразовать сообщение строку в шестнадцатеричное значение в С.Unsigned Char Concat В C
Например, если у меня есть сообщение, как «ABC» я хочу иметь его 162636 и т.д. Мой код находится ниже. В этом коде я должен выполнить некоторую операцию concat, чтобы сохранить их все, но теперь я могу хранить только 36. Как я могу их хранить?
unsigned char swapNibbles(char x)
{
return ((x & 0x0F)<<4 | (x & 0xF0)>>4);
}
void encode(char *message, char password[40]) {
unsigned char *reversedInput = malloc(strlen(message));
for (int i = 0; i < strlen(message); ++i) {
reversedInput=swapNibbles(message[i]);
}
printf("%2x TERS ",reversedInput);
//unsigned char *bitwiseMessage = (unsigned char*)message;
//printf("DÜZ %s\n",bitwiseMessage);
//printf("TERS %u\n", swapNibbles(bitwiseMessage));
}
Этот ответ обеспечивает способ сделать это http://stackoverflow.com/a/41356195/7076153 – Stargateur
[Пожалуйста, просмотрите эту дискуссию о том, почему бы не использовать возвращаемое значение 'malloc()' и family в 'C'.] (Http://stackoverflow.com/q/605845/2173917). –
@SouravGhosh, если я не брошу его, я получу ошибку сегментации – Berkin