将vector vector <unsigned char =“”>转换为uint8_t * </unsigned>

时间:2013-11-27 20:52:40

标签: c++ casting stdvector

我有一个需要uint8_t*作为输入的函数(unsigned char)。但是,我将我的字符串保存为vector<unsigned char>。如何将其转换为uint8_t*以使我的函数能够接受?

谢谢。

1 个答案:

答案 0 :(得分:7)

在大多数情况下,unsigned charuint8_t相同。如果c ++ 11可用,你可以使用它来符合它

static_assert(std::is_same<unsigned char, uint8_t>::value, "uint8_t is not unsigned char");

然后你可以使用data来获得你想要的东西

vector<unsigned char> vec = // your vector
uint8_t *data = vec.data();