c++ 16进制string转uint8_t
时间: 2023-07-19 11:31:56 浏览: 272
C# 16 进制字符串转 int的方法
可以使用 std::stoul 函数将 16进制字符串 转换为 uint8_t 类型。示例代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string hexStr = "FF"; // 假设 16进制字符串为 "FF"
uint8_t num = static_cast<uint8_t>(stoul(hexStr, nullptr, 16));
cout << static_cast<int>(num) << endl; // 输出 255
return 0;
}
```
需要注意的是,stoul 函数的第二个参数为指向字符结尾的指针,一般使用 nullptr 表示自动检测。第三个参数为进制数,此处为 16,表示 16进制。同时需要注意,如果转换后的结果超出了 uint8_t 的范围,会出现截断或溢出的情况。
阅读全文