strcmp는 사전상 위치를 비교하여 인자1이 인자2보다 앞에 있으면 -1을, 뒤에 있으면 1을, 같으면 0을 반환하는 함수이다.


strcmp로는 영문만 비교해보았는데, 한글을 비교할 일이 생겨서 어떻게 할지 고민하다가,

"우리는 완성형을 쓰는데, 어딘가에 ASCII코드처럼 순차적으로 저장되어 있지 않을까?"

해서 strcmp로 테스트 해 보았다.


걱정과 달리 아주 잘 되었다! 심지어 받침 비교도 잘 되었다.( 닭, 닳 같은... )

참 쉽게 해결한 것 같다. 또 필요할 때가 있을 지 몰라 써둔다.ㅎㅎ


예시 코드


#include< stdio.h >

int main()
{
    char m_string1[10];
    char m_string2[10];

    int m_cmp;

    while( 1 )
    {
        gets( m_string1 );
        gets( m_string2 );

        m_cmp = strcmp( m_string1, m_string2 );

        if( m_cmp == 1 )
        {
            puts( m_string2 );
        }
        else if( m_cmp == 0 )
        {
            printf( "위치가 같음\n" );
        }
        else
        {
            puts( m_string1 );
        }
    }
   return 0;
}


+ Recent posts