c++ - 从字符串中读取十六进制值并将它们存储到 c/c++ 中的整数数组中
问题描述
我想问一下如何将字符串中的十六进制值存储到整数数组中。例如隐蔽
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;
}
推荐阅读
- python - 迭代二维 numpy 数组以找到相应的最大值
- php - 使用 PHP 发送消息后重定向到主页
- c - 如果 Windows UAC 被拒绝,有没有办法让代码以较低的权限运行
- python - 使用漂亮的汤从网页中抓取某些文本
- javascript - 配置 i18next 以使用警告日志而不是默认信息级别
- discord.js - (Discord.js v12)提及参数?
- python - 如何检查日期是否在熊猫中有连续的行?
- json - iTunes 搜索播客 JSON API 存储库有时不返回“feedUrl”
- unix - 安装柠檬找不到ILOG COIN SOPLEX
- python - 我不明白我的数组有什么问题