// GetLocalIP.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "GetLocalIP.h"
#include "winsock2.h"
#pragma comment(lib,"wsock32")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR )
printf("Error at WSAStartup()/n");
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
// CString strHello;
// strHello.LoadString(IDS_HELLO);
// cout << (LPCTSTR)strHello << endl;
CString sIP;//用于存放本机IP
char hostname[200];//用于存放本机名字
int nRetCode;//返回值
//获取本机名称
nRetCode = gethostname(hostname,200);
if (nRetCode != 0)
{
// An error has occurred
int err=WSAGetLastError();
CString message;
message.Format(_T("错误:%d"),err);
AfxMessageBox(message);
}
//获取本机IP
//使用 GetAddressByName
struct hostent FAR *lpHostEnt = gethostbyname (hostname);
if (lpHostEnt == NULL)
{
// An error occurred.
int err=WSAGetLastError();
CString message;
message.Format(_T("错误:%d"),err);
}
LPSTR lpAddr = lpHostEnt->h_addr_list[0];
if (lpAddr)
{
struct in_addr inAddr;
memmove (&inAddr, lpAddr, 4);
sIP = inet_ntoa (inAddr);
if (sIP.IsEmpty())
AfxMessageBox(_T("wrong"));
else
AfxMessageBox(sIP);
}
}
return nRetCode;
}
//
#include "stdafx.h"
#include "GetLocalIP.h"
#include "winsock2.h"
#pragma comment(lib,"wsock32")
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR )
printf("Error at WSAStartup()/n");
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
// CString strHello;
// strHello.LoadString(IDS_HELLO);
// cout << (LPCTSTR)strHello << endl;
CString sIP;//用于存放本机IP
char hostname[200];//用于存放本机名字
int nRetCode;//返回值
//获取本机名称
nRetCode = gethostname(hostname,200);
if (nRetCode != 0)
{
// An error has occurred
int err=WSAGetLastError();
CString message;
message.Format(_T("错误:%d"),err);
AfxMessageBox(message);
}
//获取本机IP
//使用 GetAddressByName
struct hostent FAR *lpHostEnt = gethostbyname (hostname);
if (lpHostEnt == NULL)
{
// An error occurred.
int err=WSAGetLastError();
CString message;
message.Format(_T("错误:%d"),err);
}
LPSTR lpAddr = lpHostEnt->h_addr_list[0];
if (lpAddr)
{
struct in_addr inAddr;
memmove (&inAddr, lpAddr, 4);
sIP = inet_ntoa (inAddr);
if (sIP.IsEmpty())
AfxMessageBox(_T("wrong"));
else
AfxMessageBox(sIP);
}
}
return nRetCode;
}