Hex caractere para int em C ++

Como posso alterar um caractere hexadecimal, não uma string, para um valor numéric

Ao digitar esta pergunta, encontrei muitas respostas sobre como converter cadeias hexadecimais em valores. No entanto, nenhum funciona para caracteres. Lembro-me de ler em algum lugar que isso funciona para strings:

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

No entanto, se eu fizermystr[x] em um loop, esse código não funcionará. Tentei adicionar uma nova linha comstd::string temp = mystr[x] e alterandostd::stringstream(mystr) parastd::stringstream(temp), mas também não está funcionand

Então, como devo fazer isso? Atualmente, estou pesquisando uma sequência de caracteres hexadecimais "0123456789abcdef".find(mystr[x]);) e usando o índice para o valor No entanto, como ele pesquisa, é lento, mesmo se estiver pesquisando apenas 16 caracteres.

http: //ideone.com/dIyD

questionAnswers(4)

yourAnswerToTheQuestion