我想在这方面像这样的sprintf一些发现网络MAC地址的MAC地址的sprintf:可用网络
`WiFi connection settings:
MAC: 00 1E C0 10 3B 19
SSID: css`
我的代码是:
char buf[32];
BYTE MAC[64];
int i;
for(i=1;i<15;i++)
{
MyScanResults = WFScanList(i);
sprintf(buf,"%s", MyScanResults.ssid);
sprintf(&MAC[i*2],"%02x", MyScanResults.bssid[i]);
_dbgwrite("SSID: ");
_dbgwrite(buf);
_dbgwrite("\n");
_dbgwrite("MAC: ");
_dbgwrite(MAC);
}
和错误是:
C:\ Users \ h \ Desktop \ WiFi test \ taskFlyport.c:22:warning:'sprintf'参数1中的指针对象在签名方面不同<
C:\用户\^h \桌面\ WiFi测试\ taskFlyport.c:27:警告:指针目标在通过的 '_dbgwrite' 参数1符号性<
不同的是有没有人告诉我我的问题在哪里? 感谢,视
谢谢你的回复。我根据相关结构定义写了字节,现在我没有任何警告,但是我的结果是一样的,就像:MAC:?? 5217356f和MAC:?? 5217 – J2015
@HOsseiNSA This是因为你的循环以'i = 1'开始,导致你跳过'MAC'中的两个第一个字符。 – unwind
@HOsseiNSA - 添加代码。请注意,您使用的printf格式不适用于大数字(64位)。在答案中查看我的演示代码。 – egur