C++ 十六进制字符串转换为十进制无符号字符
可以使用 C++ 标准库中的 'stoul' 函数将十六进制字符串转换为十进制无符号字符。
示例代码:
#include <iostream>
#include <string>
int main() {
std::string hex_str = '2A'; // 十六进制字符串
unsigned char decimal = std::stoul(hex_str, nullptr, 16); // 转换为十进制无符号字符
std::cout << static_cast<unsigned int>(decimal) << std::endl; // 输出结果:42
return 0;
}
其中,'std::stoul' 函数的第一个参数是待转换的十六进制字符串,第二个参数是指向存储转换后无用部分的指针(通常设为 'nullptr'),第三个参数是进制数(这里为 16)。转换后的结果为一个无符号长整型,需要通过类型转换将其转换为无符号字符。
原文地址: http://www.cveoy.top/t/topic/nOjH 著作权归作者所有。请勿转载和采集!