关于Linux网络程序的一些小问题

原创 2016年06月01日 12:40:30

我在实现深入理解计算机随书代码的时候 发现在

int main(int argc, char **argv) 

{
    char **pp;
    struct in_addr addr;
    struct hostent *hostp;


    if (argc != 2) {
fprintf(stderr, "usage: %s <domain name or dotted-decimal>\n", 
argv[0]);
exit(0);
    }


    if (inet_aton(argv[1], &addr) != 0) 
hostp = Gethostbyaddr((const char *)&addr, sizeof(addr), AF_INET); 
    else                                
hostp = Gethostbyname(argv[1]);


    printf("official hostname: %s\n", hostp->h_name);


    for (pp = hostp->h_aliases; *pp != NULL; pp++)
printf("alias: %s\n", *pp);


    for (pp = hostp->h_addr_list; *pp != NULL; pp++) {
addr.s_addr = ((struct in_addr *)*pp)->s_addr;
printf("address: %s\n", inet_ntoa(addr));
    }
    exit(0);
}

/* $end hostinfo */



老是提示段错误  没有其他提示 也不知道为什么错误 后来定位到时inet_ntoa()函数的原因 




加上<arpa/inet.h>头文件后就好了 虽然不知道为什么 按照我的想法 如果没加头文件函数应该是没有定义的啊 但是为什么编译能过啊

相关文章推荐

《Linux C程序设计大全》中遇到滴一个小问题

     在《Linux C程序设计大全》——第十四章的进程间通信的——14.2.3的匿名半双工管道的读写操作这一小节中有这样的一段话:“如果要建立一个父进程到子进程的数据通道,可以先调用pipe函数...

linux遇到的小问题

  • 2015年01月19日 00:12
  • 17KB
  • 下载

Linux下经常出现的小问题

  • 2013年03月22日 21:47
  • 26KB
  • 下载

(图解)电脑联网小问题:网络适配器输入的IP地址,已经分配给另一个适配器

最近,笔记本连接校内网络出现了一些问题,明明电脑桌面的小图标正常显示的: 可是,打开浏览器网页的时候却显示DNS错误什么的。 于是,好奇的打开自己的本地连接的属性Internet ...

数据结构及小问题程序代码实现

  • 2015年08月08日 15:20
  • 9.69MB
  • 下载

Android手机监视网络状态的变化--关于权限的一个小问题

手机切换网络状态,弹出吐司,提示网络状态发生变化。问题出现在每当切换状态,程序就会崩溃...

50道小问题的小程序

  • 2015年01月23日 14:50
  • 875B
  • 下载

机器学习/CNN系列小问题(1):逻辑回归和神经网络之间有什么关系?

本文讨论的关键词:Logistic Regression(逻辑回归)、Neural Networks(神经网络)之前在学习LR和NN的时候,一直对它们独立学习思考,就简单当做是机器学习中的两个不同的m...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Linux网络程序的一些小问题
举报原因:
原因补充:

(最多只允许输入30个字)