string的IP类型转in_addr类型

shn521 2012-10-09 02:39:35
请问该如何转换,谢谢啊
例如
“172.0.0.1”转in_addr结构
...全文
580 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
AnYidan 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

参考:inet_aton和inet_network和inet_addr三者比较
[/Quote]

++
冷月清晖 2012-10-10
  • 打赏
  • 举报
回复
AndyZhang 2012-10-09
  • 打赏
  • 举报
回复
inet_aton
图灵狗 2012-10-09
  • 打赏
  • 举报
回复
简单用inet_aton函数就可以了:

#include <netinet/in.h>

int main(int argc, char* argv[])
{
char* cp = "172.0.0.1";
struct in_addr inp;

inet_aton(cp, &inp);

return 0;
}
newtee 2012-10-09
  • 打赏
  • 举报
回复
inet_aton()函数
int inet_aton(const char*cp,struct in_addr *inp)
1.函数作用:inet_ation()函数将在cp中存储的点分十进制字符串类型的IP地址,转换为二进制的IP地址,转换后的值保存在指针inp指向的结构struct in_addr中。
2.形参
const char *cp:指向字符类型的IP地址。例如“192.168.1.11”
struct in_addr *inp:指向二进制的网络字节顺序的IP地址
structin_addr{
unsignedlong s_addr
}
xiaoxiao8310 2012-10-09
  • 打赏
  • 举报
回复
SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int inet_aton(const char *cp, struct in_addr *inp);

in_addr_t inet_addr(const char *cp);

in_addr_t inet_network(const char *cp);

char *inet_ntoa(struct in_addr in);

struct in_addr inet_makeaddr(int net, int host);

in_addr_t inet_lnaof(struct in_addr in);

in_addr_t inet_netof(struct in_addr in);
mujiok2003 2012-10-09
  • 打赏
  • 举报
回复
 #include <Winsock2.h> 
  #include <stdio.h>  
 int main()  
 {   
in_addr ipAddr;  
  ipAddr.S_un.S_addr = inet_addr("127.0.0.1");
  printf("\n%u", ipAddr.S_un);   
return 0;  
 }

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧