linux用c++获取mac地址,不使用 ioctl(sock, SIOCGIFCONF, &ifc)获取网络接口名称,这个接口有时会返回-1获取不到,换方法获取
1.弃用 SIOCGIFCONF 获取网络接口名称列表:
//获取所有网络接口列表ifc.ifc_len = sizeof(buf);ifc.ifc_buf = buf;if (ioctl(sock, SIOCGIFCONF, &ifc) == -1){ printf("ioctl error\n"); return -1; }
2.全部代码
#include <ros/ros.h>#include <ros/package.h>#include "src/utils/Rotation3DUtils.h"#include "disinfect_srvs/nodeNameList_srvs.h"#include <QtWidgets/QApplication>#include <QDebug>#include <QTimer>//============获取mac==================#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/ioctl.h>#include <sys/socket.h>#include <netinet/in.h
linux用c++获取mac地址 网卡地址 网口地址 网卡序号ip地址 不使用 ioctl(sock SIOCGIFCONF ifc)获取网络接口名称 这个接口有时会返回-1获取不到 换方法获取