我能否在多个平台上(包括Windows的各个版本和Unix系统)将字符串转换为IP地址,使用的是C++语言?
我能否在多个平台上(包括Windows的各个版本和Unix系统)将字符串转换为IP地址,使用的是C++语言?
inet_addr()
函数将以字符串表示的IP地址转换为可用于其他套接字函数的形式。int rc;
int s;
struct sockaddr_in myname;
/* clear the structure to be sure that the sin_zero field is clear */
memset(&myname, 0, sizeof(myname));
myname.sin_family = AF_INET;
myname.sin_addr = inet_addr("129.5.24.1");
/* specific interface */
myname.sin_port = htons(1024);
<winsock2.h>
,而在NIX上是<sys/socket.h>
。您仍然可以使用预处理条件(如#ifdef __WIN32__
)提供“可移植”的代码。 - ereOnwindows.h
之前包含winsock2.h
。(另外,我认为winsock2.h
和winsock.h
是不兼容的,所以要小心!第一次尝试这些东西真的很痛苦。) - please delete megethostbyname
函数。