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)。转换后的结果为一个无符号长整型,需要通过类型转换将其转换为无符号字符。
原文地址: https://www.cveoy.top/t/topic/ebZY 著作权归作者所有。请勿转载和采集!