可以使用 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)。转换后的结果为一个无符号长整型,需要通过类型转换将其转换为无符号字符。

c++ 如何将 十六进制字符串转换为十进制无符号字符

原文地址: https://www.cveoy.top/t/topic/ebZY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录