У меня небольшая проблема с cryptopp562 (в Debian, если это имеет значение). У меня есть шестнадцатеричная строка, и я пытаюсь преобразовать ее в десятичное целое число. Я использую HexDecoder в cryptopp (поскольку я уже использую cryptopp для других вещей в проекте). Поскольку я не знаю способа перейти прямо от шестнадцатеричной строки к десятичному целому за один шаг, у меня есть промежуточный шаг десятичной строки. Такие вот дела
Шестнадцатеричная строка > Десятичная строка > Десятичное целое
Однако мой конвейер кажется неправильным, но я не могу понять, почему. Я даже не могу правильно преобразовать шестнадцатеричную строку в десятичную строку, поэтому мой десятичный int просто постоянно читает 0. Я использовал Base64Encoder (и Decoder) и ZlibCompressor (и Decompressor) в прошлом без проблем, так что это вроде немного неловко, потому что это должно быть просто больше того же самого.
std::string RecoveredDecimalString;
std::string RecoveredHex = "39"; //Hex, so would be 63 in decimal
CryptoPP::StringSource (RecoveredHex, true /*PumpAll*/,
new CryptoPP::HexDecoder(
new CryptoPP::StringSink(RecoveredDecimalString) /*StringSink*/
)/*HexDecoder*/
);/*StringSource*/
Но, как я уже сказал, после запуска RecoveredDecimalString.empty() возвращает true. Сначала я подумал, что это из-за того, что я пропустил все параметры насоса, но добавление этого ничего не изменило, все равно ничего не течет.
Похожий вопрос был задан (и на него дан ответ) год назад. Ответ пришел как «читать вики cryptoPP», но я не вижу, чем мой код отличается от того, что есть в их вики.
Что я забыл? Я знаю, что это будет что-то очень маленькое.
CryptoPP::StringSource
. Разве вам не нужно выполнить какое-то действие (например, вызвать какую-либо функцию-член), чтобы действительно выполнить преобразование? - person Some programmer dude   schedule 15.08.2014CryptoPP::StringSource HexSource(RecoveredHex, true /*PumpAll*/, new CryptoPP::HexDecoder(new CryptoPP::StringSink(RecoveredDecimalString)));
, к сожалению, по-прежнему выдавал пустой вывод. - person Mumbles   schedule 15.08.2014