2010-08-05 3 views
0

Если у меня есть CRC32 (контрольная сумма циклической избыточности), то как я могу получить от нее строку?CRC32 (Циклическая контрольная сумма избыточности) в строку

+2

CRC32 - это просто целое число, поэтому все, что преобразует целое число в строку, будет работать ... –

+0

Вы спрашиваете, как получить исходную строку, для которой генерируется CRC? – Raghuram

ответ

0

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

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

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

0

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

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

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

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

1

Вопрос ambiguous.

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

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

Смежные вопросы