秦11012 发表于 2015-11-24 00:35:27

关于Linux的inet_addr inet_aton inet_ntoa 函数 和inet_pton inet_ntop函数

#include <netdb.h>
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
int main(int argc, char * argv[])
{
if(argc != 2)
{
printf(&quot;Usage: %s <Ip>\n&quot;, argv);
exit(0);
}
struct hostent * hostent = gethostbyname(argv);   
printf(&quot;%s\n&quot;, hostent->h_name);
in_addr_t adr = inet_addr(hostent->h_name);
int i = 0;
for(i = 0; i < 4; i&#43;&#43;)
{
printf(&quot;%x &quot;, *(((char*)&adr) &#43; i));
}
printf(&quot;\n&quot;);
printf(&quot;0x%x\n&quot;, adr);

struct in_addr adrr;
inet_aton(hostent->h_name, &adrr);   
printf(&quot;0x%x\n&quot;, adrr.s_addr);
char * str = inet_ntoa(adrr);
printf(&quot;str:%s\n&quot;, str);
return 0;
}
  


  

#include <stdio.h>
#include <arpa/inet.h>
int main()
{
struct in_addr addr;
if(inet_pton(AF_INET, &quot;192.168.159.128&quot;, &addr))
{
printf(&quot;0x%x\n&quot;, addr.s_addr);
}
char strIp;
if(inet_ntop(AF_INET, &addr,strIp, sizeof(strIp)))
{
printf(&quot;%s\n&quot;, strIp);
}
return 0;
}



  
页: [1]
查看完整版本: 关于Linux的inet_addr inet_aton inet_ntoa 函数 和inet_pton inet_ntop函数