0

我得到了这个字符串

0x3384BCFD
0x61CEB13B

两者都是字符串类型..

最初我得到了这个

uint32_t iv[2]  = {0xFFFFFFFF,0xFFFFFFAA};

如何将上面的 2 个字符串分配给iv[0]and iv[1]

iv[2]我想要as的最终结果iv[2] = {0x3384BCFD,0x61CEB13B};

谢谢帮忙!!

4

3 回答 3

5

看看这不在链接的骗局中:

uint32_t iv[] = { //*cough* std::array exists as well
    std::stoul(strs[0], nullptr, 16), 
    std::stoul(strs[1], nullptr, 16)
};
于 2013-05-11T17:35:47.523 回答
4

由于它是 C++,我建议您使用带有操纵器的流:

stringstream ss = stringstream("0x3384BCFD");
ss >> hex >> iv[0];
于 2013-05-11T17:35:21.380 回答
2
#include <sstream>

int main()
{
    uint32_t iv[2];

    std::stringstream("0x3384BCFD 0x61CEB13B") >> std::hex >> iv[0] >> iv[1];
}
于 2013-05-11T17:37:36.387 回答