CRC32 (контрольная сумма циклического избыточного кода) в строку - PullRequest
0 голосов
/ 05 августа 2010

Если у меня есть CRC32 (Cyclic Redundancy Checksum), то как мне получить строку из него?

Ответы [ 3 ]

1 голос
/ 05 августа 2010

Вопрос неоднозначен .

Если вы имеете в виду «как я могу преобразовать целое число CRC32 в строку?», Это довольно просто.Вы можете использовать функции std :: ostringstream или sprintf () или itoa ().

Если, как я подозреваю, вы имеете в виду «у меня CRC32, сгенерированный из строки, и я хочу вернуться к исходной строке», то ответ «это невозможно».CRC - односторонняя трансформация, и нет пути назад.

0 голосов
/ 05 августа 2010

C ++ способ преобразования шестнадцатеричного числа в строку следующий:

std::stringstream s;
s << std::hex << crc32 /*the CRC32 number that you have computed somewhere*/;

std::string resultString = s.str();

Надеюсь, это ответит на ваш вопрос. В противном случае точно, что вы ожидаете!

0 голосов
/ 05 августа 2010

Если вы хотите получить crc32_value в виде шестнадцатеричной строки:

char crc32_string[64];
sprintf(crc32_string, "%8X", crc32_value);

Вам не было достаточно ясно, какой формат, какую строку вы хотите. Посмотрите на MSDN, чтобы узнать, какой sprintf работает для вас. Их много с более безопасной проверкой параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...