社区
通信技术
帖子详情
请教:为何在windows下调用inet_pton函数,运行时总是说无法定位.
s_51563946
2009-08-24 12:53:56
在WinSock2.h里面确实是包含了inet_pton声明的,并且也编译通过了.但在运行的时候却提示无法定位到inet_pton的符号.
难道windows.h下的WinSock2.dll里面没有这个函数的定义?
请教windows下实现同样功能函数的名字是什么?
...全文
2057
3
打赏
收藏
请教:为何在windows下调用inet_pton函数,运行时总是说无法定位.
在WinSock2.h里面确实是包含了inet_pton声明的,并且也编译通过了.但在运行的时候却提示无法定位到inet_pton的符号. 难道windows.h下的WinSock2.dll里面没有这个函数的定义? 请教windows下实现同样功能函数的名字是什么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaolomg
2012-10-03
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
使用inet_addr替代, 举例如下:
linux下代码:
const char *PORT = "1111";
const char *SERVER = "127.0.0.1";
int err, sd;
struct sockaddr_in sa;
/* connects to server
*/
sd = socket (AF_INE……
[/Quote]
+1
w22407
2011-09-23
打赏
举报
回复
1
使用inet_addr替代, 举例如下:
linux下代码:
const char *PORT = "1111";
const char *SERVER = "127.0.0.1";
int err, sd;
struct sockaddr_in sa;
/* connects to server
*/
sd = socket (AF_INET, SOCK_STREAM, 0);
memset (&sa, '\0', sizeof (sa));
sa.sin_family = AF_INET;
sa.sin_port = htons (atoi (PORT));
inet_pton (AF_INET, SERVER, &sa.sin_addr);
改写为windows下代码
const char *PORT = "1111";
const char *SERVER = "127.0.0.1";
int err, sd;
struct sockaddr_in sa;
/* connects to server
*/
sd = socket (AF_INET, SOCK_STREAM, 0);
memset (&sa, '\0', sizeof (sa));
sa.sin_family = AF_INET;
sa.sin_port = htons (atoi (PORT));
sa.sin_addr.s_addr = inet_addr(SERVER);
s_51563946
2009-08-24
打赏
举报
回复
另外说一句,由于包含Winsock2.h之前包含windows.h会报错(该死的微软).所以我加上了WIN32_LEAN_AND_MEAN的宏定义.不知道这样会不会有问题?
详解
inet
_
pton
()和
inet
_ntop()
函数
主要介绍了
inet
_
pton
()和
inet
_ntop()
函数
,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
浅析PHP中的
inet
_
pton
网络
函数
inet
_
pton
是一个IP地址转换
函数
,可以在将IP地址在“点分十进制”和“二进制整数”之间转换,这篇文章主要介绍了PHP
inet
_
pton
网络
函数
,需要的朋友可以参考下
inet
各种
函数
.pdf
。。。
深入解析
inet
-
pton
()与
inet
-ntop()
函数
资源下载链接为: https://pan.quark.cn/s/9e7ef05254f8 在计算机网络编程中,IP地址的转换是一项常见任务,尤其是随着IPv4和IPv6的广泛应用。将点分十进制IP地址转换为网络字节序的二进制数值,以及进行反向转换,变得至关重要。
inet
_
pton
()和
inet
_ntop()
函数
是现代网络编程中用于处理IPv4和IPv6地址转换的常用
函数
。
inet
_
pton
()
函数
能够将点分十进制格式的IP地址转换为适用于网络传输的二进制数值。该
函数
支持IPv4和IPv6地址,是随着IPv6发展而引入的。其
函数
原型为: 其中,family参数用于指定地址族,AF_
INET
表示IPv4地址,AF_
INET
6表示IPv6地址。strptr是指向包含点分十进制IP地址字符串的指针,addrptr是指向足够大内存块的指针,用于存储转换后的二进制数值。
函数
返回值为1表示成功,0表示输入字符串无效,-1表示出现错误。例如,将IPv4地址“..*.**”转换为二进制数值的代码如下:
inet
_ntop()
函数
则用于将网络字节序的二进制数值转换为点分十进制格式的IP地址字符串。其
函数
原型为: family参数同样指定地址族类型,addrptr是指向二进制数值的指针,strptr是用于存储转换后字符串的缓冲区,len参数指定缓冲区大小。
函数
成功时返回指向转换后字符串的指针,出错时返回NULL。对于IPv4地址,传统的
inet
_ntoa()
函数
也可以实现网络字节序IPv4地址到点分十进制字符串的转换,但其返回值指向静态分配的内存,多次
调用
会导致值被覆盖。而
inet
_
pton
()和
inet
_ntop()
函数
在转换过程中无需额外处理字节顺序问题,它们自身已解决了网络字节序和主机字节序的转换。例如,使用
inet
_ntop()将二进制数值转换为点分十进制格式的代码如下: 总之,ine
网络编程学习一:IP地址转换
函数
.docx
ip地址转换
通信技术
4,386
社区成员
28,916
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章