可以使用 C++ 标准库中的函数 stoistoul 将十六进制字符串转换为无符号整数(unsigned long),然后再强制类型转换为需要的整数类型。

示例代码:

#include <iostream>
#include <string>

int main() {
    std::string hex_str = "1A";
    unsigned long hex_num = std::stoul(hex_str, nullptr, 16);  // 将十六进制字符串转换为无符号整数
    int dec_num = static_cast<int>(hex_num);  // 强制类型转换为整数
    std::cout << dec_num << std::endl;  // 输出结果:26
    return 0;
}

其中,stoul 函数的第一个参数是需要转换的字符串,第二个参数是一个指向 size_t 类型变量的指针,表示转换后的字符串结束位置,可以设为 nullptr,表示转换整个字符串。第三个参数表示进制数,这里设为 16 表示十六进制

c++ 如何将 十六进制字符串转换为十进制数字再转换成整数

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

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