C ++ і Java Byte Array

Вибачте за запитання про новачка. У мене немає досвіду роботи з C ++. У мене є метод в C ++, який генерує хеш-значення при введенні. Вихід зберігається як char outCode [outlen] . У мене є метод java, який генерує хеш-значення при введенні, і вихід зберігається як вихід byte [] . Я посилаю значення c ++ як потік на java. Як порівняти, щоб перевірити, чи мають вони той же хеш? Дякую,

3
У Java ви маєте масиви. Рівності (байт [], байт []) для порівняння рівняння масиву байтів. Але для того, щоб зробити це програмним шляхом, вам доведеться десь поділитися результатами, наприклад, писати у файл, а потім прочитати його. Якщо ви просто хочете перевірити рівність одним поглядом, надрукуйте масиви за символом.
додано Автор zeller, джерело
Фактично я не хочу, щоб відправити його як потік. Я хотів би надрукувати значення c ++ та System.out значення java і з'ясувати, чи мають вони таке ж хеш-значення. Дякую.
додано Автор Forum Member, джерело
Я прочитав на цьому форумі, що я можу роздрукувати масив байтів у java, використовуючи System.out.printf ("0x% 02X", вихід [0]) ;. Ви знаєте еквівалент для c ++. Дякую
додано Автор Forum Member, джерело

2 Відповіді

Ви можете надрукувати кілька байтів у C/C ++ таким чином:

int i;
for (i = 0; i < outlen; ++i)
    printf("%02x", outCode[outlen]);
0
додано

Важко сказати, що ти робиш.
Схоже, ви хочете показати масив двоїчних даних у шістнадцятковій цифрі?

C ++

for(int i=0; i<< std::hex << std::setw(2) << outcode[i];
std::cout << std::dec << std::endl;

Я не знаю, як зробити Java. http://www.exampledepot.com/egs/java.math/Bytes2Str.html виглядає корисно.

0
додано
Так що ви хочете відобразити бінарний вміст в hex в C ++?
додано Автор Mooing Duck, джерело
Насправді у мене є шістнадцяткові значення, що зберігаються в них. Вихідне значення c ++ визначається як char outCode [outlen], і java зберігається в байтівному масиві як вихідний байт []. Я хочу переконатися, що шістнадцятковий вихід є однаковими для Java і C ++. Якщо ми ігноруємо цикл, я не можу просто зробити printf ("out [0] =% c", outCode [0]); і порівняти з System.out.println ("out [0] =" + виходом [0]) ;. Тому я шукаю справжню заявку printf та System.out, яка дозволить мені порівняти яблука з яблуками, а не з апельсинами. Дякую
додано Автор Forum Member, джерело
IT KPI C/С++ новым годом
IT KPI C/С++ новым годом
747 учасників

Чат обсуждения С/С++. - Вопросы "напишите за меня лабу" - это оффтоп. - Оффтоп, флуд, оскорбления и вбросы здесь не приняты. - За нарушение - предупреждение или mute на неделю. - За спам и рекламу - ban. Все чаты IT KPI: https://t.me/itkpi/1147

ІТ КПІ - Java
ІТ КПІ - Java
436 учасників