gethostbyname should be enough.
解决方案 »
- 关于CListctrl设置竖滚动条范围的问题
- 在线等,MFC聊天程序出现link2001错误
- 北京4年VC应该啥工资水平啊
- 求作扑克游戏的思路
- 简单的小问题
- 请问:list<...>::iterator是否可以和void*类型相互转换呢?(内详)谢谢~~~ 100pts求助
- 如何在切分开的两个窗口里进行不同的操作?50分(通过菜单来在左边和右边分别显示不同的内容?
- 高手请进!为什么OnNewWindow3中设置成*bCancel=TRUE无效?
- 编译VC 6.0遇到问题
- 谁给寄一个键盘钩子的完整程序看一看?谢谢
- windows 如何管理窗口?请各位大虾指教
- vc高手看过来!如何实现通过程序拨号(专线猫)请给出例子!急.急.急!
unsigned long ulIP;
hostent *ch; WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData ); ch = gethostbyname(name); if(ch != NULL)
{
ulIP = *(DWORD*)(*ch->h_addr_list);
printf("%u\n", ulIP);
}
else
printf("FAILED %d\n",GetLastError()); WSACleanup();
错误处理没有写
ip.Format("%d",ulIP);
return(ip);请问如何把ip由CString形式转变成a.b.c.d的形式呢?
#include <windows.h>
#include <stdio.h>#pragma comment(lib,"ws2_32.lib")void main()
{
const char FAR *name = "www.csdn.net";
unsigned long ulIP; hostent *ch; LPSTR szAddr;
struct in_addr inetAddr; WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData ); ch = gethostbyname(name); if(ch != NULL)
{
ulIP = *(DWORD*)(*ch->h_addr_list);
inetAddr.s_addr = (ULONG)ulIP;
szAddr = inet_ntoa(inetAddr);
char * csIP = szAddr; inet_addr((*ch->h_addr_list));
printf("%u\n", ulIP);
printf("%s\n", csIP);
}
else
printf("FAILED %d\n",GetLastError()); WSACleanup();}
//windows xp/VS.net/Platform SDK Nov 2001
family : AF_INET 或 AF_INET6