У вас есть шестнадцатеричное представление символа в строке, и вы хотите этот символ?
Самый простой:
unsigned char c;
istringstream str(at);
str >> hex >> c; // force the stream to read in as hex
vect.push_back(c);
(я думаю, что должно работать, не проверял его)
Я просто перечитал ваш вопрос еще раз, эта строка:
У меня есть беззнаковый символ * c, который содержит элемент 0x1c
это означает, что на самом деле ваш неподписанный символ * выглядит так:
unsigned char c[] = {0x1c}; // i.e. contains 1 byte at position 0 with the value 0x1c?
или мое предположение выше ...
, чтобы вывести вектор в cout
, используйте простоедля цикла, или если вы чувствуете себя смелым
std::cout << std::ios_base::hex;
std::copy(vect.begin(), vect.end(), std::ostream_iterator<unsigned char>(std::cout, " "));
std::cout << std::endl;
, это напечатает шестнадцатеричные представления каждого из unsigned char
значений в векторе, разделенных пробелом.