问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何通过C的方式在android NDK下面查找本机的mac地址

发布网友 发布时间:2022-04-27 13:01

我来回答

1个回答

热心网友 时间:2022-04-27 14:31

bool GetMac(char *pBuffer)
{
struct ifreq *ifr;
struct ifconf ifc;
int s, i;
int numif;

// find number of interfaces.
memset(&ifc, 0, sizeof(ifc));
ifc.ifc_ifcu.ifcu_req = NULL;
ifc.ifc_len = 0;

if ((s = ::socket(PF_INET, SOCK_STREAM, 0)) < 0)
{
CCLog("SgProfile::GetMac 111111");
return false;
}

if (ioctl(s, SIOCGIFCONF, &ifc) < 0)
{
CCLog("SgProfile::GetMac 222222");
return false;
}

if ((ifr = (ifreq*) malloc(ifc.ifc_len)) == NULL)
{
CCLog("SgProfile::GetMac 333333");
return false;
}

ifc.ifc_ifcu.ifcu_req = ifr;

if (ioctl(s, SIOCGIFCONF, &ifc) < 0)
{
CCLog("SgProfile::GetMac 333333 ioctl SIOCGIFCONF error!");
return false;
}

numif = ifc.ifc_len / sizeof(struct ifreq);

for (i = 0; i < numif; i++)
{
struct ifreq *r = &ifr[i];
struct sockaddr_in *sin = (struct sockaddr_in*)&r->ifr_addr;
if (!strcmp(r->ifr_name, "lo"))
continue; // skip loopback interface

// get MAC address
if(ioctl(s, SIOCGIFHWADDR, r) < 0)
{
CCLog("SgProfile::GetMac 333333 ioctl(SIOCGIFHWADDR) error!");
continue;
}

memcpy(pBuffer,r->ifr_hwaddr.sa_data,6);
close(s);
free(ifr);

return true;
}

return false;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
月经不尽褐色的是怎么回事 月经前后有褐色分泌物是什么原因 二十四节气的重要意义24节气在生活中的作用 你来我往,猜一个数字? 姓谭女孩起什么名字最优雅 男孩姓谭的好名字 黄家驹在beyond的地位 黄家驹是Beyond的主唱吗? 老板对员工的新年微信 每次感冒和一些小毛病,我都是选择运动出身汗,让它自然好,请问这种方 ... 昆和什么偏旁组成新字 米呢? 昆字可添加什么偏旁,组戊新字。 昆+1个偏旁怎么组词 昆虫的昆加上偏旁变成新字 给“昆”字加偏旁 昆字加一个部首变成新字再组词。急 昆还可以换什么偏旁 “昆”字加偏旁组字 昆换一个偏旁再组词 昆换偏旁组成新字再组词? 安阳市委组织部办公室科员周伟 安阳市委组织部在什么位置?怎么走? 安阳狗咬伤老人? 毕业了党关系想转到家,介绍信上写的是安阳市*组织部,那里收吗? 安阳市人民政府的宣传口号 我的党组织关系现在转到安阳*组织部了,现在想转到安阳市人才市场要怎么弄哦,求各位高人指点 请问安阳市**怎么联系?我是河北省的,我想求*帮个忙? 安阳市市委组织部在哪?怎么走? 安阳市委,市政府领导接访时间是哪天? 原河南安阳市委书记张笑东判决吗 Stanley博士的家2详细攻略关于瓷砖的密码 博士的家2攻略 地砖 博士的家2攻略 地砖怎么算 stanley博士的家2 攻略保险箱 Stanley博士的家2这里怎么过? 我想要通过C语言,实现输入一个数字,对外部程序发送一个按键指令, 施乐4400感光鼓1显示未安装或安装不良是什么原因 富士施乐3065更换感光鼓后提示未安装或者安装不良(需要重新安装),如何处理故障?感光鼓是全新的。 施乐d110提示未安装感光鼓 7145复印全白 施乐iv2060提示未安装感光鼓 怎样用Java语言设计一个日历类,其中包含日历的所有属性描述和操作行为描述 Java中 怎么做万年历的GUI实现不同的月份星期和日期的对应 我要步骤 不要代码 如何用手机费买彩票 路虎发现运动版磨合期正常几公里,磨合后油耗会下降吗,正常百公里多少升? 路虎发现神行新车有磨合期吗 路虎发现神行磨合期怎么开车好一些 TSP的采样时间至少是多少个小时? 路虎发现运动首保4000公里可以吗 环境空气质量标准的统计时效