C++ C++;如何将字符串指定为十六进制

C++ C++;如何将字符串指定为十六进制,c++,C++,我有这根绳子 0x3384BCFD 0x61CEB13B 两者都是字符串类型 最初我得到了这个 uint32_t iv[2] = {0xFFFFFFFF,0xFFFFFFAA}; 如何将上面的2个字符串分配到iv[0]和iv[1] 我希望iv[2]的最终结果为iv[2]={0x3384BCFD,0x61CEB13B} 谢谢你的帮助 因为C++,建议您使用机械手流: stringstream ss = stringstream("0x3384BCFD"); ss >> hex &

我有这根绳子

0x3384BCFD
0x61CEB13B
两者都是字符串类型

最初我得到了这个

uint32_t iv[2]  = {0xFFFFFFFF,0xFFFFFFAA};
如何将上面的2个字符串分配到
iv[0]
iv[1]

我希望
iv[2]
的最终结果为
iv[2]={0x3384BCFD,0x61CEB13B}


谢谢你的帮助

因为C++,建议您使用机械手流:

stringstream ss = stringstream("0x3384BCFD");
ss >> hex >> iv[0];

看看链接的副本中没有这样的内容:

uint32_t iv[] = { //*cough* std::array exists as well
    std::stoul(strs[0], nullptr, 16), 
    std::stoul(strs[1], nullptr, 16)
};
#包括
int main()
{
uint32_t iv[2];
std::stringstream(“0x3384BCFD 0x61CEB13B”)>>std::hex>>iv[0]>>iv[1];
}

这确实是一个更好的主意。这可能是最接近OP想要的,他可以在他的数组声明中使用它。@Overv,很好。我要补充一点。
#include <sstream>

int main()
{
    uint32_t iv[2];

    std::stringstream("0x3384BCFD 0x61CEB13B") >> std::hex >> iv[0] >> iv[1];
}