您的位置:首页 > 其它

Internet地址结构及转换

2012-02-09 12:11 176 查看
Internet地址的基本数据结构如下:

#include <netinet/in.h>



struct sockaddr_in {

short sin_family; // e.g. AF_INET

unsigned short sin_port; // e.g. htons(3490)

struct in_addr sin_addr; // see struct in_addr, below

char sin_zero[8]; // zero this if you want to

};



struct in_addr {

unsigned long s_addr; // load with inet_aton()

};

IP字符串转换到unsigned long:

in_addr ip_addr;

inet_aton("63.161.169.137", &ip_addr);



unsigned long转换到IP字符串:

char ip[64];

in_addr in;

in.s_addr = htonl(176427304); //unsigned long to be converted

strcpy(ip, inet_ntoa(in));

printf("ip: %s\n", ip);



使用的时候只要include下面的头文件:

#include <netinet/in.h>

#include <arpa/inet.h>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: