网络字节序,主机字节序,地址转换函数

 

#include "../apue.h"

int main(void){

//验证当前平台属哪种字节序

    unsigned int x=0x12345678;

    unsigned char *p=(unsigned char*)&x;

    printf("%x-%x-%x-%x\n", p[0],p[1],p[2],p[3]);

 

//将主机字节序转换为网络字节序

    unsigned int y = htonl(x);

    p=(unsigned char*)&y;

    printf("%x-%x-%x-%x\n", p[0],p[1],p[2],p[3]);

 

//将IP转换为字节序整数

    in_addr_t ipm=inet_addr("192.168.0.100");

    printf("imp=%u\n", ntohl(ipm));

 

//将网络字节序整数转换成IP

    struct in_addr ipaddr;

    ipaddr.s_addr = ipm;

    printf("ip=%s\n", inet_ntoa(ipaddr));

 

//将IP转换为字节序整数

    struct in_addr inp={0};

    inet_aton("192.168.0.100", &inp);

    printf("inp=%u\n", ntohl(inp.s_addr));

    return 0;

}

你可能感兴趣的:(网络字节序,主机字节序,地址转换函数)