我需要一些帮助来纠正此代码,因为它会打印出一些奇怪的东西。
我使用无线工具和 iwlib.h 来扫描无线网络并获取它们的 ESSID。当我使用:
printf("Network name %s:", result->b.essid);
然后它就像一个魅力,为我打印出名字。但是,我想将其转换为 char,以便稍后通过网络通过缓冲区发送它。
(除非我可以发送结果并且“名称提取”可以在另一边发生?或者这不可能吗?)
请参阅下面的示例代码(不是完整代码),了解我如何尝试这样做,但结果是我得到了非常随机的字符。
wireless_scan_head head;
wireless_scan *result;
iwrange range;
while(result != NULL)
{
char *network;
network = result->b.essid;
int k;
int size = strnlen(result->b.essid);
printf("\n Network ESSID:");
for(k=0; k<=size; k++)
{
printf("%c", network[k]);
k++;
}
result = result->next;
}
谢谢您的帮助!