【发布时间】:2021-05-05 04:54:23
【问题描述】:
我需要将前导零的值转换为八进制。因为 12(八进制 14)与 012(八进制 10)不同
我将调用的函数需要一个 uint16_t 类型的变量,并且要转换的值是动态接收的,可以存储在 String 或 const char* 中。
String node = "012"; // received dynamically
const char* node = '012'; // received dynamically
我需要的是:
uint16_t n = node;
功能:
begin(uint8_t _channel, uint16_t _node_address )
begin(90, n);
【问题讨论】:
-
你可以直接打电话给
strtol或strtoul吗? -
使用
std::stoi"...前缀(0)表示八进制..." en.cppreference.com/w/cpp/string/basic_string/stol -
c 还是 c++?
const char* node = '012'在两者中均无效。String是什么?是std::string、char *的别名还是别的什么?
标签: c++ c octal leading-zero