Ответ 1
Спецификатор шестнадцатеричного формата ожидает одно целочисленное значение, но вместо этого вы предоставляете массив char
. Что вам нужно сделать, это распечатать значения char
индивидуально в виде шестнадцатеричных значений.
printf("hashedChars: ");
for (int i = 0; i < 32; i++) {
printf("%x", hashedChars[i]);
}
printf("\n");
Поскольку вы используете C++, хотя вам следует рассмотреть возможность использования cout
вместо printf
(это более идиоматично для C++.
cout << "hashedChars: ";
for (int i = 0; i < 32; i++) {
cout << hex << hashedChars[i];
}
cout << endl;