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];
}