0
我想MYCOMPUTER的ip地址在一个变量 这个语句打印ip地址我的电脑 的,但我想它分配在varible 如何从inet_ntoa(inaddrr(ifr_addr.sa_data))
获取ip地址的值转换为可变IP char*
类型。获取ip地址的值
printf("IP Address: %s\n", inet_ntoa(inaddrr(ifr_addr.sa_data)));
我想MYCOMPUTER的ip地址在一个变量 这个语句打印ip地址我的电脑 的,但我想它分配在varible 如何从inet_ntoa(inaddrr(ifr_addr.sa_data))
获取ip地址的值转换为可变IP char*
类型。获取ip地址的值
printf("IP Address: %s\n", inet_ntoa(inaddrr(ifr_addr.sa_data)));
inet_ntoa
已经返回char *
- 这只是它指向一个静态缓冲区,这将在后续调用覆盖。如果你想保存指向的字符串,你可以使用strdup()
:
char *ip;
/* ... */
ip = strdup(inet_ntoa(inaddrr(ifr_addr.sa_data)));
请立即拨打ip
free()
当你用它做。
正如我们在最近三次指出的那样,这是重复的。阅读我们关闭时所链接的答案。 – 2010-04-01 12:07:27
可能的重复http://stackoverflow.com/questions/485769/how-do-i-find-a-computers-ip-address – 2010-04-01 12:08:12
http://stackoverflow.com/questions/917332/getting-my-ip-地址 – 2010-04-01 12:08:47