#include <winsock2.h>
/**
* 名前もしくはIPアドレスからホスト情報を獲得する.
* @param const char* lpszHostName : ホスト名 or IP.
* @return 成功:ホスト情報構造体のアドレス 失敗:NULL.
*/
struct hostent* getHostByName(const char* lpszHostName)
{
struct hostent* lpWorkHost=NULL;
::in_addr in;
in.s_addr = ::inet_addr(lpszHostName);
if (in.s_addr == INADDR_NONE) {
lpWorkHost = ::gethostbyname(lpszHostName);
} else {
lpWorkHost = ::gethostbyaddr(reinterpret_cast<char *>(&in), sizeof(in), AF_INET);
}
return lpWorkHost;
}
返却領域がstaticのためマルチスレッドセーフではありません。
↓で構築したVisualC++ 2005 Express Editionでコンパイルしました(ただし、Ws2_32.libを追加しています)。
http://winter-tail.sakura.ne.jp/nmap/setup.html
良かったらクリックお願いします→
