簡體   English   中英

std :: vector十六進制值

[英]std::vector hex values

如何使用十六進制值初始化std::vector 以下引發錯誤:

std::vector<unsigned char> vect ("oc","d4","30");

如果我有一個包含base64代碼的字符串值,如:“DNQwSinfOUSSWd + U04r23A ==”....如何將它放在std :: vectorv中?

std :: string =“DNQwSinfOUSSWd + U04r23A ==”;

我首先要將其解碼為hexa值。 之后將其放入矢量中。 有人可以告訴我如何將包含base64編碼器的字符串值解碼為hexa嗎?

(你忘了給你的std::vector一個元素類型。我會假設unsigned char 。)

在C ++ 0x中,您將能夠編寫:

std::vector<unsigned char> v{ 0x0C, 0xD4, 0x30 };

在C ++ 03中你必須寫:

std::vector<unsigned char> v;
v.push_back(0x0C);
v.push_back(0xD4);
v.push_back(0x30);

或者,如果您不介意占用空間:

unsigned char values[] = { 0x0C, 0xD4, 0x30 };
std::vector<unsigned char> v(values, values+3);

你也可以看一下boost.assign

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM