分析IP地址(DDX)
如果你编写Internet应用程序, 你需要校验用户进入的IP地址和确认它是正确的.
首先,我们需要在对话框的头文件里加入下面的函数声明:
#include <winsock.h>
void WINAPI DDX_IPAddress(CDataExchange* pDX, int nIDC, UINT & value);
实现数据交换,你需要在你的对话框DoDataExchange函数里调用DDX_IPAddress函数。
现在,在对话框的实现文件中加入下列代码,不要忘记在项目设置中包含ws2_32.lib.
// DDX routine fo IP address translation
void WINAPI DDX_IPAddress(CDataExchange* pDX, int nIDC, UINT & value)
{
// from dialog to class ?
if( pDX->m_bSaveAndValidate)
{
CString Val;
BOOL bValid = true;
pDX->m_pDlgWnd->GetDlgItem(nIDC)->GetWindowText(Val);
for( int i = 0; i < Val.GetLength(); i++)
{
// lets check if all entered char in entered
// IP address are digits
if(Val[i] == .)
continue;
if(isdigit(Val[i]) == 0)
{
bValid = false;
break;
}
}
if(bValid)
{
value = inet_addr(Val);
if(value == INADDR_NONE)
{
pDX->m_pDlgWnd->MessageBox("The entered IP address is invalid.");
补充:软件开发 , C语言 ,
上一个:简单邮件传输协议SMTP封装类
下一个:截获WINSOCKET的源代码
- 更多C/C++疑问解答:
- 关于c++的cout输出的问题。
- 在学校里学过C和C++,不过学的很一般,现在自学C#,会不会很难?
- 全国计算机二级C语言笔试题
- 已知某树有2个2度结点,3个3度结点,4个4度结点,问有几个叶子结点?
- c++数据结构内部排序问题,整数排序
- 2012九月计算机二级C语言全国题库,,急求急求
- 如果assert只有一个字符串作为参数,是什么意思呢?
- C语言中,哪些运算符具有左结合性,哪些具有右结合性,帮忙总结下,谢谢了!
- 为什么用结构体编写的程序输入是,0输不出来啊~~~
- 将IEEE—754的十六进制转化为十进制浮点类型,用C或C++都行,多谢各位大侠啊,非常感谢!
- 为什么这个程序求不出公式?
- 这个链表倒置的算法请大家分析下
- c语言函数库调用
- C语言unsigned int纠错
- C语言快排求解啊