免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2737 | 回复: 2
打印 上一主题 下一主题

套接字小疑问 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-31 22:35 |只看该作者 |倒序浏览
各位,请原谅我发这里,因为在C那里我得不到确定,希望前辈人物指点。
下面的小程序是一个解析IP地址的,我刚接触Socket编程,那个unsigned long是因为hostent表中的结构是32位的吗?

  1. #include <stdio.h>          /* stderr, stdout */
  2. #include <netdb.h>          /* hostent struct, gethostbyname() */
  3. #include <arpa/inet.h>      /* inet_ntoa() to format IP address */
  4. #include <netinet/in.h>     /* in_addr structure */

  5. int main(int argc, char **argv) {
  6. struct hostent *host;     /* host information */
  7. struct in_addr h_addr;    /* Internet address */
  8. if (argc != 2) {
  9.   fprintf(stderr, "USAGE: nslookup <inet_address>\n");
  10.   exit(1);
  11. }
  12. if ((host = gethostbyname(argv[1])) == NULL) {
  13.   fprintf(stderr, "(mini) nslookup failed on '%s'\n", argv[1]);
  14.   exit(1);
  15. }
  16. h_addr.s_addr = *((unsigned long *) host->h_addr_list[0]);
  17. fprintf(stdout, "%s\n", inet_ntoa(h_addr));
  18. exit(0);
  19. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2006-03-31 22:51 |只看该作者
PS:我想看一下hostent的数据结构,在RedHat9下应该去哪里?

论坛徽章:
0
3 [报告]
发表于 2006-04-03 16:20 |只看该作者
这个是否应该到C++区去问?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP