linux C Get/Set IP Address
来源:互联网 发布:java仪表盘代码 编辑:程序博客网 时间:2024/05/29 18:53
//------------------------h file------------------- //setip.h#ifndef _INCLUDE_SETIP_H_#define _INCLUDE_SETIP_H_ //设置IP地址/* * 函数名称 : int setip(char *ip) * 函数功能 : 设置系统IP地址 * 参 数 : * char *ip :设置的IP地址,以点分十进制的字符串方式表示,如“192.168.0.5” * 返 回 值 : 0 : 成功 ; -1 : 失败 */ int setip(char*ip); //获取IP地址/* * 函数名称 : char * getip(char *ip_buf) * 函数功能 : 获取系統IP地址 * 参 数 : * char *ip_buf :用来存放IP地址的内存空间 * 返 回 值 : ip_buf : 存放IP地址的内存地址 */char* getip(char*ip_buf); #endif//_INCLUDE_SETIP_H_//end setip.h//------------------------c file-----------------------//setip.c#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/ioctl.h>#include<sys/socket.h>#include<arpa/inet.h>#include<netinet/in.h>#include<net/if.h>#include "setip.h"//设置IP地址/* * 函数名称 : int setip(char *ip) * 函数功能 : 设置系统IP地址 * 参 数 : * char *ip :设置的IP地址,以点分十进制的字符串方式表示,如“192.168.0.5” * 返 回 值 : 0 : 成功 ; -1 : 失败 */int setip(char*ip){ struct ifreq temp; struct sockaddr_in *addr; int fd = 0; int ret = -1; strcpy(temp.ifr_name, "eth0"); if((fd=socket(AF_INET, SOCK_STREAM, 0))<0) { return -1; } addr = (struct sockaddr_in *)&(temp.ifr_addr); addr->sin_family = AF_INET; addr->sin_addr.s_addr = inet_addr(ip); ret = ioctl(fd, SIOCSIFADDR, &temp); close(fd); if(ret < 0) return -1; return 0;} //获取IP地址/* * 函数名称 : char * getip(char *ip_buf) * 函数功能 : 获取系統IP地址 * 参 数 : * char *ip_buf :用来存放IP地址的内存空间 * 返 回 值 : ip_buf : 存放IP地址的内存地址 */char * getip(char *ip_buf){ struct ifreq temp; struct sockaddr_in *myaddr; int fd = 0; int ret = -1; strcpy(temp.ifr_name, "eth0"); if((fd=socket(AF_INET, SOCK_STREAM, 0))<0) { return -1; } ret = ioctl(fd, SIOCGIFADDR, &temp); close(fd); if(ret < 0) return NULL; myaddr = (struct sockaddr_in *)&(temp.ifr_addr); strcpy(ip_buf, inet_ntoa(myaddr->sin_addr)); return ip_buf;} /*测试程序*//*int main(int argc, char * argv[]){ char * ip = "172.20.223.117"; char buf[16]=""; setip(ip); printf("ipaddr=%s/n",getip(buf)); return 0;}*///end setip.c
from http://blog.csdn.net/jueqing007/article/details/5991859
0 0
- linux C Get/Set IP Address
- Get Local IP Address and Set in the IP Control
- get ip address & mac address
- get ip address
- Get IP Address
- [C++] How to get host ip address<ipv4>
- linux上获得本地IP地址和MAC地址(get local ip address and mac address)
- C language——read ip address in linux
- How to set IP address using Qt
- ZOJ Problem Set - 2482||IP Address
- Get the IP address of a network interface in C using SIOCGIFADDR
- Get ip address from an interface name
- Android: get IP address of device
- get IP address of a given machine
- shell get ip address netmask dns
- get my ip address from curl
- How To: Make VirtualBox Use Your Router’s DHCP to get an IP Address in Linux
- C++/MFC-IP Address Control
- eclipse xml文件里 出现android1
- sipml5实现SIP MESSAGE方法(一)
- xUtils框架的介绍
- 给大家推荐个东西,苹果299刀的企业账号发布,用这个直接变成免费
- shell编程比较总结
- linux C Get/Set IP Address
- <script></script>和<script language=javascript></script>的区别
- IOS 可以实现滑动的第三方库iCarousel的简单使用
- 工作日志2014-08-04
- uva 1323 - Vivian's Problem(梅森素数)
- Hadoop计算能力调度器应用和配置
- BestCoder-Round #3 1001 Task schedule
- mac下面安装破解版UltraEdit
- Android 一些功能代码