我想问一下如何将字符串中的十六进制值存储到整数数组中。
例如掩盖

String sbox_str= "0x65, 0xea, 0xaf, 0x37, 0xff, 0x3b, 0xc2, 0xd0";


进入

uint8_t sbox[8]={0x65, 0xea, 0xaf, 0x37, 0xff, 0x3b, 0xc2, 0xd0};


如果您能指导我如何在QT Creator中做相同的事情,我将不胜感激。

最佳答案

使用QString的简单方法:

std::string sbox_str= "0x65, 0xea, 0xaf, 0x37, 0xff, 0x3b, 0xc2, 0xd0";
uint8_t sbox[8];

int i = 0;
for( const auto &item: QString(sbox_str.data()).split(", ")) {
    if(i == sizeof (sbox)) break; // do something
    sbox[i] = item.toInt(nullptr, 16);
    ++i;
}

关于c++ - 从字符串中读取十六进制值并将其存储到c/c++中的整数数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53263196/

10-11 16:00