获得本机IP地址(c语言)

来源:互联网 发布:如何用c语言编写游戏 编辑:程序博客网 时间:2024/04/30 12:09
#include #include #include #include #include #include #include #include #include #define ETH_NAME "eth0" int main() { int sock; struct sockaddr_in sin; struct ifreq ifr; sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock == -1) { perror("socket"); return -1; } strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ); ifr.ifr_name[IFNAMSIZ - 1] = 0; if (ioctl(sock, SIOCGIFADDR, &ifr) < 0) { perror("ioctl"); return -1; } memcpy(&sin, &ifr.ifr_addr, sizeof(sin)); fprintf(stdout, "eth0: %s/n", inet_ntoa(sin.sin_addr)); return 0; }