问题遇到的现象和发生背景
需要能够输入mac地址,比如11:22:33:44:55:66这种格式,然后我要存进数组中是"0x11"这种格式,数组是unsigne char* 的类型。
我的解答思路和尝试过的方法
我想的是通过": "分割了再存进数组中再加上“0x”,但网上找的分割方法总是报错。
需要能够输入mac地址,比如11:22:33:44:55:66这种格式,然后我要存进数组中是"0x11"这种格式,数组是unsigne char* 的类型。
我想的是通过": "分割了再存进数组中再加上“0x”,但网上找的分割方法总是报错。
字符串分割的参考代码
#include <iostream>
#include <string>
using namespace std;
int main()
{
string mac = "11:22:33:44:55";
string s[10], str;
int pos, count = 0;
str = mac;
do {
pos = str.find(":");
if(pos != -1) {
s[count++] = str.substr(0, pos);
str = str.substr(pos + 1, str.length());
}
else {
s[count++] = str;
}
} while(pos != -1);
for(int i = 0; i < count; i++) {
cout << s[i] << endl;
// 没写保存到unsigned char *数组的模块,根据你的情况再直接取 s 的值保存即可
}
return 0;
}