C++ char* 转 u8

C++ char* 转 u8_第1张图片

char * argv; //传入的参数

u8 p1,p2; //定义两个u8变量

方法一:Error

直接使用c++容器转换,由于argv[2] 或者argv[3]可能超出了uint8_t类型的范围,因此在                  会出现错误。

p1 = static_cast(argv[2]);

p2 = static_cast(argv[3]);

方法二:Right

为了解决方法一的问题,可以使用std::stoul函数将字符串转换为无符号整数,然后再将其转换为uint8_t,如下所示:

p1 = static_cast(std::stoul(argv[2]));

p2 = static_cast(std::stoul(argv[2]));

你可能感兴趣的:(c++,前端)