在Linux平台读取本地网卡IP的方法如下
#include#include #include #include #include #include #include #include #include #include #include #include #include // 获取本机ip eth_inf网卡名称 调用方法get_local_ip("apcli0", ip); int get_local_ip(const char *eth_inf, char *ip) { int sd; struct sockaddr_in sin; struct ifreq ifr; sd = socket(AF_INET, SOCK_DGRAM, 0); if (-1 == sd) { printf("socket error: %s\n", strerror(errno)); return -1; } strncpy(ifr.ifr_name, eth_inf, IFNAMSIZ); ifr.ifr_name[IFNAMSIZ - 1] = 0; // if error: No such device if (ioctl(sd, SIOCGIFADDR, &ifr) < 0) { printf("ioctl error: %s\n", strerror(errno)); close(sd); return -1; } memcpy(&sin, &ifr.ifr_addr, sizeof(sin)); snprintf(ip, 16, "%s", inet_ntoa(sin.sin_addr)); close(sd); return 0; }
最新评论
您好,可以分享一下具体的指令发送顺序吗(上位机->PN532),我按开发手册里的指令,发给PN532,PN532没有反应,困扰好几天了,还烦请大佬解答
style是什么呢
文章非常好,支持一下
qwq如果这样也打不开怎么办啊
天气越来越冷了,躲在家里刷刷博客也挺好!
还不错的样子!!!!!!!!!!!!!!!!
cat /dev/ttyS0& 然后echo "aaaaaaa" > /dev/ttyS0 本地会回显数据,这个要怎么解决
真心不错,不得不支持一下先!