욕설 필터나 해당 문자를 검색할때 유용하다.
템플릿으로 설정 시 char type 이나 w_char type 에 모두 사용 가능 하니 참고 할 것.
// 구조체나 클래스 멤버 함수로 적용시 static으로 설정하여 헤더에 적용한다.
template< typename stl_, typename char_ >
bool CheckProhibition( const stl_& strMessage, const char_* szProhibition )
{
if( 0 >= strMessage.size() ) return false;
if( NULL == szProhibition ) return false;
// 검색 실패
if( std::string::npos == strMessage.find(szProhibition) )
return false;
return true;
}
[ 사용법 ]
char* szProhibit[128] = { 0, };
std::string strName;
...
if( filterFunc.CheckProhibition<std::string, char>(strName, szProhibit) )
{
return false;
}
[ OR Unicode type ]
w_char_t* szwProhibit[128] = { 0, };
std::wstring strwName;
...
if( filterFunc.CheckProhibition<std::wstring, w_char_t>(strwName, szwProhibit) )
{
return false;
}
'[ Programing ] > Algorithm' 카테고리의 다른 글
VARIANT 해제 (0) | 2013.05.21 |
---|---|
길찾기 알고리즘 링크 (0) | 2013.05.21 |
케릭터 간 거리 측정 (0) | 2011.07.14 |
UTF-8을 Unicode로, Unicode를 UTF-8로 변환하기. (0) | 2011.01.05 |
비트(bit) 연산 (0) | 2011.01.03 |