第一次写网络程序,一个很简单的程序:获取本机名与ip地址先声明一个WSADATA WSAData;
结果:'WSADATA' : undeclared identifiergethostname( hostname, 128 )
结果:G:\document\vc_lp\experiment\GetHostIp\GetHostIPDlg.cpp(193) : error C2065: 'gethostname' : undeclared identifier是不是应该包含一个wsock32.lib文件?
在什么地方包含?3q!郁闷死我了~~~

解决方案 »

  1.   

    试试加入#include <afxsock.h>
      

  2.   

    谢谢!编译通过了,但是链接出错,why?Compiling...
    GetHostIPDlg.cpp
    Linking...
    LINK : fatal error LNK1104: cannot open file "wsock32.dll"
    Error executing link.exe.
      

  3.   

    加入
    #pragma comment(lib,"ws2_32.lib") 
    try again!
      

  4.   

    可以了
    thank you very much!还有个问题
    char* hostname = "";
    gethostname( hostname, 128 ) ;
    但是调用返回非0,无法获取主机名,hostname仍然为空,为什么?
      

  5.   

    改成这样吧:char hostname[50] ;
    gethostname(hostname,sizeof(hostname)) ;
      

  6.   

    char hostname[50] ;
    gethostname(hostname,sizeof(hostname)) ;