#include<WinSock2.h>
#pragma comment(lib,"ws2_32.lib")
#include<iostream>
using namespace std;
/*unsigned long Inet_addr(const char* cp)
{
unsigned long host=0;
char* phost=(char*)&host;
{
unsigned long host=0;
char* phost=(char*)&host;
//strtok(cp,".");//这样是错误的strtok里的第一个参数是可变参数,因为会把cp里的“.”用\0代替。。而cp是const型,,,,所以要把cp复制下来
char s[80];
strcpy_s(s,sizeof(s),cp);//strcpy可以防止内存越界,,,只复制sizeof个
char*p=strtok(s,".");//strtok函数的返回值仍是字符串。。返回的是192,非空
while(p)
{
*phost++=atoi(p);//把字符型转换为整型
p=strtok(NULL,".");//第一次调用时,返回字符串168,非空
}
return host;
}
*/
char s[80];
strcpy_s(s,sizeof(s),cp);//strcpy可以防止内存越界,,,只复制sizeof个
char*p=strtok(s,".");//strtok函数的返回值仍是字符串。。返回的是192,非空
while(p)
{
*phost++=atoi(p);//把字符型转换为整型
p=strtok(NULL,".");//第一次调用时,返回字符串168,非空
}
return host;
}
*/
int main()
{
WSADATA wd;
WSAStartup(0x0202,&wd);
unsigned long k=inet_addr("192.168.1.1");
cout<<k<<endl;
getchar();
return 0;
}
{
WSADATA wd;
WSAStartup(0x0202,&wd);
unsigned long k=inet_addr("192.168.1.1");
cout<<k<<endl;
getchar();
return 0;
}