主题:C++网络编程
有如下程序
char* ip="10.7.93.25";
int* p=new int[4];
IN_ADDR q;
q.S_un.S_addr=inet_addr(ip);
cout < <q.S_un.S_addr;
该程序是将ip地址字符串转化为ulong变量的
我知道in_addr结构体中的联合变量S_un有结构体 S_un_b,是4个字节的char型变量
那么如何将ip地址转化成q.S_un.S_un_b 而不是ulong型呢?
另外 为什么由的程序需要用htonl函数来包装ulong型的ip地址呢?
我查了msdn
htonl函数是用来转化机器字节到网络字节的。什么情况下需要转化呢?
char* ip="10.7.93.25";
int* p=new int[4];
IN_ADDR q;
q.S_un.S_addr=inet_addr(ip);
cout < <q.S_un.S_addr;
该程序是将ip地址字符串转化为ulong变量的
我知道in_addr结构体中的联合变量S_un有结构体 S_un_b,是4个字节的char型变量
那么如何将ip地址转化成q.S_un.S_un_b 而不是ulong型呢?
另外 为什么由的程序需要用htonl函数来包装ulong型的ip地址呢?
我查了msdn
htonl函数是用来转化机器字节到网络字节的。什么情况下需要转化呢?