当前位置:编程学习 > C/C++ >>

分析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语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,