我有一个像这样的字符串:
std::string s="840D8E88B0AC";
和一个数组:
char MAC[6];
我想制作这个:
MAC={0x84,0x0D,0x8E,0x88,0xB0,0xAC};
我尝试使用sscanf(),但我做不到。
sscanf(s.c_str(), "%02X%02X%02X%02X%02X%02X", MAC[0], MAC[1], MAC[2], MAC[3], MAC[4], MAC[5]);
答案 0 :(得分:1)
应该是(尽管有其他错误)
sscanf(s.c_str(), "%02X%02X%02X%02X%02X%02X", &MAC[0], &MAC[1], &MAC[2],
&MAC[3], &MAC[4], &MAC[5]);
sscanf
(及其变体)需要指针才能更改要读入的变量。
惊讶的是您的编译器没有警告您该错误。