HOSTENT *phEnt;
UCHAR uIP[4];
CString strIP;phEnt=GetHostByName("www.csdn.net");memcpy(uIP,phEnt->h_addr_list[0],4);;//format the ip address
strIP.Format("%d.%d.%d.%d",uIP[0],
uIP[1],uIP[2],uIP[3]);
UCHAR uIP[4];
CString strIP;phEnt=GetHostByName("www.csdn.net");memcpy(uIP,phEnt->h_addr_list[0],4);;//format the ip address
strIP.Format("%d.%d.%d.%d",uIP[0],
uIP[1],uIP[2],uIP[3]);
解决方案 »
- 创建线程
- 初学MFC 请问怎么实现通过滚动条或滑动条控件来控制edit控件内数值???
- 关于Gdiplus.dll版本6(Gdiplus 1.1)中Effect类的调用
- 请教一个线程方面简单的问题,随便散点分~~
- 我的朋友们,请关注一下我!!!谢谢!!!
- 字符串截取的问题!!!!
- http://zhina444.allhere.com/ 这个反华网站,不知谁能黑了它
- 急需 Winuser.*文件,请安装过最新的platform的好心朋友帮个忙!
- 100分!抢吧,但10个小时过去了,还没有人回答。。。
- 安装VS6的奇怪问题。
- cannot open file "\My.obj",这又是一个什么文件.
- MFC的ODBC里,如何将当前记录指针移到指定的记录上?
{
DWORD dwIp= inet_addr( p_pchUrl );
if( dwIp != INADDR_NONE )
return dwIp;
hostent* pstHost;
pstHost = gethostbyname( p_pchUrl );
if( pstHost == NULL )
OutputError();
return *( reinterpret_cast< DWORD * >( pstHost->h_addr ) );
}
void GetIPFromHostName(CString &strHost)
{
struct in_addr iaDest; // Internet address structure iaDest.s_addr = inet_addr(strHost);
if (iaDest.s_addr == INADDR_NONE)
{
WORD v;
WSADATA wd;
PHOSTENT hostinfo;
v=MAKEWORD(2,0);
WSAStartup(v,&wd);
hostinfo=gethostbyname(strHost);
strHost=inet_ntoa(*(struct in_addr *)*hostinfo->h_addr_list);
}
}
memcpy(uIP,phEnt->h_addr_list[0],4);這一行是什麽錯誤?運行到這裏就非法操作了?
就是从phEnt->h_addr_list[0]这里拷贝4各字节到uIP里面呀!
void print_all_ip(void)
{
char szHostName[128];
const char* pszAddr;
struct hostent * pHost;
int i,j;
if( gethostname(szHostName, 128) == 0 )
{
pHost = gethostbyname(szHostName);
for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
{/*对每一个IP地址进行处理*/
pszAddr=inet_ntoa (*(struct in_addr *)pHost->h_addr_list[i]);
printf("%s\n",pszAddr);/*打印*/
}
}
}