kyuseo의 게임 프로그래밍

아이피 주소(IP Address) 문자열(String)의 유효성을 검사하는 함수 본문

C++ 개발

아이피 주소(IP Address) 문자열(String)의 유효성을 검사하는 함수

kyuseo 2008. 3. 5. 11:49

개요..

 

제가 개발한 아이피 주소(IP Address) 문자열(String)의 유효성을 검사하는 함수를 소개해드립니다.

 

 

아래와 같은 곳에서 IP 주소를 입력을 받을 경우 문자열을 검사하는데 사용합니다.

 

 

 

코드

 

함수 원형

 

BOOL IsAvailableIP( LPCSTR szIP )

{

    if( szIP == NULL ) return FALSE;

        

    int len = strlen( szIP );

 

    // 7( 1.1.1.1 ) 이상&& 15( 123.123.123.123 ) 이하

    if( len > 15 || len < 7 ) return FALSE;

 

    int nNumCount = 0;

    int nDotCount = 0;

 

    // 유효성검사

    for( int i = 0; i< len; i++ )

    {

        if( szIP[ i ] < '0' || szIP[ i ] > '9' )

        {

            if( '.' == szIP[i] )    {    ++nDotCount;    nNumCount = 0;    }

            else                    return FALSE;

        }

        else

        {

            if( ++nNumCount > 3 )    return FALSE;

        }

    }

 

    if( nDotCount != 3 ) return FALSE;

 

    return TRUE;

}

 

 

사용예

 

    BOOL b1 = IsAvailableIP( "212.12.145.11" );

    BOOL b2 = IsAvailableIP( "321412.14.15" );

    BOOL b3 = IsAvailableIP( "12345678" );

    BOOL b4 = IsAvailableIP( "qwehriowbio" );