获取ip
一:
我用vc6.0做了一个获取本机ip的小程序。对话框上有一个按钮,他的下面是如下的一段代码,对话框上还有一个edit框,为其定义两个变量:1--m_ipdata CString,2--m_ipcon CONTROL.如果得到ip则在edit框上显示,否则显示错误信息,但是在make时错了信息如下.希望高手解决。
二:另外我还想问一下如果用vc控制台程序,是不是不能用CTring
类型,我包含了string.h好像不管用。我是新手,望多多指教。。。
代码如下:
char szHostName[128];
CString str;
if( gethostname(szHostName, 128) == 0 )
{
// Get host adresses
struct hostent * pHost;
int i;
pHost = gethostbyname(szHostName);
for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
{
int j;
for( j = 0; j < pHost->h_length; j++ )
{
CString addr;
if( j > 0 )
str += ".";
addr.Format("%u", (unsigned int)((unsigned char*)pHost->h_addr_list[i])[j]);
str += addr;
}
// str now contains one local IP address - do whatever you want to do with it (probably add it to a list)
}
m_ipdata = str;
m_ipcon.UpdateData(false);
}
else
{
m_ipdata = "abtain ip is error";
m_ipcon.UpdateData(false);
}
错误信息如下:
--------------------Configuration: getip1 - Win32 Debug--------------------
Linking...
getip1Dlg.obj : error LNK2001: unresolved external symbol __imp__gethostbyname@4
getip1Dlg.obj : error LNK2001: unresolved external symbol __imp__gethostname@8
Debug/getip1.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
getip1.exe - 3 error(s), 0 warning(s)