Что-то вроде следующего?

могу изменить шестнадцатеричный символ, а не строку, в числовое значение?

При наборе этого вопроса я нашел много ответов о том, как преобразовать шестнадцатеричные строки в значения. Тем не менее, никто не работает для символов. Я помню, где-то читал, что это работает для строк:

std::string mystr = "12345";
unsigned int myval;
std::stringstream(mystr) >> std::hex >> myval;

Однако, если я сделаюmystr[x] в цикле этот код не будет работать. Я попытался добавить новую строку сstd::string temp = mystr[x] и меняетсяstd::stringstream(mystr) вstd::stringstream(temp), но это тоже не работает.

Так как мне это сделать? В настоящее время я ищу строку шестнадцатеричных символов ("0123456789abcdef".find(mystr[x]);) и используя индекс для значения. Однако, поскольку он выполняет поиск, он работает медленно, даже если он ищет только 16 символов.

http://ideone.com/dIyD4