1
我有一個函數需要uint8_t*
作爲輸入(無符號字符)。不過,我的字符串保存爲vector<unsigned char>
。如何將其轉換成uint8_t*
我的函數接受?cast vector <unsigned char> to uint8_t *
謝謝
我有一個函數需要uint8_t*
作爲輸入(無符號字符)。不過,我的字符串保存爲vector<unsigned char>
。如何將其轉換成uint8_t*
我的函數接受?cast vector <unsigned char> to uint8_t *
謝謝
在大多數的情況下,unsigned char
是一樣uint8_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();
注意某些-still popular-舊編譯器不支持'的std ::矢量::數據()'。在這種情況下,'&vec [0]'做的竅門,只要向量不是空的。 – rodrigo
你不能** **投載體導入指針。 –