我想利用if来判断外来的ip是否与本地ip相同,如果相同就不执行Call(sCall,PORT,1);否则执行.我是这样写的:
void CMainFrame::OnAddIp(WPARAM wParam, LPARAM lParam)
{
char szHostName[128]; //将本机的名称存入一维数组,数组名称为szHostName
struct hostent * pHost; //定义结构体 hostent
int i; if(gethostname(szHostName,128)==0) //如果本机的名称查到,则将其名称送入List控件
{
pHost = gethostbyname(szHostName);
for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
{
IPAddress=inet_ntoa (*(struct in_addr *)pHost->h_addr_list[i]);
}
}
CString* pStr = (CString*)wParam;
char sCall[20];
strcpy(sCall,pStr->GetBuffer(0));
if(IPAddress!=sCall)
{
Call(sCall,PORT,1);
pStr->ReleaseBuffer();
}
}
结果ip相同还是执行了Call(sCall,PORT,1);这一句,为什么?谢谢!!
void CMainFrame::OnAddIp(WPARAM wParam, LPARAM lParam)
{
char szHostName[128]; //将本机的名称存入一维数组,数组名称为szHostName
struct hostent * pHost; //定义结构体 hostent
int i; if(gethostname(szHostName,128)==0) //如果本机的名称查到,则将其名称送入List控件
{
pHost = gethostbyname(szHostName);
for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
{
IPAddress=inet_ntoa (*(struct in_addr *)pHost->h_addr_list[i]);
}
}
CString* pStr = (CString*)wParam;
char sCall[20];
strcpy(sCall,pStr->GetBuffer(0));
if(IPAddress!=sCall)
{
Call(sCall,PORT,1);
pStr->ReleaseBuffer();
}
}
结果ip相同还是执行了Call(sCall,PORT,1);这一句,为什么?谢谢!!
解决方案 »
- 怀念一下,十年前猜测的VC2010功能
- 请问xtreme toolkit收费吗?怎么用?
- VC把a.sys和b.dll两个文件合成一个c.exe文件,当双击c.exe文件后,a.sys和b.dll被释放到指定目录,同时执行一段代码..我该从何入手。。
- 关于软键盘(虚拟键盘)的实现的一些问题
- 请教一个关于硬盘分区容量的问题
- LoadLibray 就应该受歧视吗?
- 听说codeproject上面有个类似MSN上线通知的控件,请给个链接,谢谢!
- 如何来判断USB接口接的是哪一种设备??
- 哪里有WINDOWS网络编程技术的源码下载??
- c++基础问题
- VC6下的小技巧,个人感觉很有用,分享
- 谁能说下CFormView CTreeView CListView CEditView CHtmlView 这些都有什么区别
if(!strcmp(IPAddress,sCall))
应该改为if(strcmp(IPAddress,sCall)),将前面的!去掉