c++ - 将字符串变量分配给 unsigned char 变量
问题描述
假设我有一个代表十六进制值的字符串 s:
string s="0x80";
我想将 s 的值赋给 v,其中 v 定义为:
unsigned char v;
最简单的方法是什么?
为什么我需要它?因为在这里,布隆过滤器表示为一个无符号字符向量,其中每个字符代表 8 位。我想访问每个字符,对其执行一些计算,然后以兼容的形式将其存储回来。此外,当我打印向量的每个元素(类型为 unsigned char)时,它以十六进制形式出现,例如 3a、98 等。
解决方案
std::istringstream
从字符串构造一个。istringstream
通过指示流包含十六进制格式的数据,从 中提取数字。- 将号码分配给
char
.
std::string s="0x80";
std::istringstream str(s);
int num;
str >> std::hex >> num;
unsigned char v = num;
推荐阅读
- node.js - 在 React(Node 作为后端)中安排函数调用以准确地在数据库中指定的日期和时间执行
- ormlite-servicestack - ServiceStack ORMLite 5.11.0 SQL 问题 - 参数过多
- javascript - 尚未创建导航器时如何从链接导航(与branch.io的深度链接)?
- prometheus - grafana-agents 是否“静态”失败,即刮掉最后一个已知的配置,以防它无法读取配置?
- php - 在提交按钮之前将 recaptcha v2 添加到 woocommerce 产品评论评论
- r - 传说上方的传说铭文
- botframework - 自定义适配器收到错误:[onTurnError] unhandled error: TypeError: bot.reply is not a function
- excel - 当我有两列或更多列时,如何在 excel 中反转数据透视?
- python - 本地化十进制数字格式
- postgresql - postgresql,表错误中不存在键,但表中存在键