一、从IP控件获取IP地址
BYTE nFild[4];
CString sIP;
CIPAddressCtrl IPDest;
IPDest.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);
sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]);
或者
DWORD dwIP;
CIPAddressCtrl IPDest;
IPDest.GetAddress( dwIP );
二、如何设置SOCKADDR_IN对象的:地址族、IP地址、端口号
SOCKADDR_IN m_sockAddr;
CString sIP;
DWORD dwIP
CString LocalPort;
m_sockAddr.sin_family = AF_INET; //地址族 AF_INET 代表TCP/IP UDP
m_sockAddr.sin_addr.s_addr = inet_addr( sIP ); // inet_addr把"10.1.10.7"这类网络地址转换成长整型
或 m_sockAddr.sin_addr.s_addr = htonl( dwIP );
m_sockAddr.sin_addr.s_addr = htonl(INADDR_ANY); //把IP地址设置为本机IP
m_sockAddr.sin_port = htons( atoi( LocalPort ) ); //atoi把CString型转换成int,htons把端口号转换成网络字节序
三、atoi() 与 itoa()
这两个函数适用于Multi-byte编译环境,在UNICODE下,用第四项的函数。
(一)atoi( )
头文件:#include <stdlib.h>
原 型: int atoi( const char *string);
功 能: 把字符串转换成整型数。
原型:char *_itoa( int value, char *string, intradix);
说明:value:欲转换的数据。
string:目标字符串的地址。
radix : 转换后的进制数,可以是10进制、16进制等。
四、_ttoi( ) 与_itot_s( )
这两个函数相当于atoi() 与 itoa(),定义在tchar.h中,可以在UNICODE和Multi-byte的编码环境下通用。