티스토리 뷰

코드 스니펫 복사


strcmp(), stricmp() 함수


> strcmp(), stricmp() Function

int strcmp( const char * string1, const char *string2 );

int stricmp( const char * string1, const char *string2 );


string1 : NULL로 끝나는 비교할 문자열의 포인터

string2 : NULL로 끝나는 비교할 문자열의 포인터


반환값 :

     -1 : string1 문자열이 string2 문자열보다 작은(<) 경우

      0 : string1 문자열이 string2 문자열과 같은 경우

      1 : string1 문자열이 string2 문자열보다 큰(>) 경우



strncmp(), strnicmp() 함수


> strncmp(), strnicmp() Function

int strncmp( const char * string1, const char *string2, size_t count );

int strnicmp( const char * string1, const char *string2 size_t count );


string1 : NULL로 끝나는 비교할 문자열의 포인터

string2 : NULL로 끝나는 비교할 문자열의 포인터

count  : 비교할 문자의 수(size_t는 unsigned integer)


반환값 :

     -1 : string1 문자열이 string2 문자열보다 작은(<) 경우

      0 : string1 문자열이 string2 문자열과 같은 경우

      1 : string1 문자열이 string2 문자열보다 큰(>) 경우



대소문자를 구분하지 않고 문자열을 비교할 경우 stricmp, strnicmp함수를 사용합니다.



strcmp(), stricmp() 함수를 사용할 때 주의해야 할 점


* strcmp(), stricmp() 함수를 사용할 때 주의해야 할 점


1. 문자열을 비교할 때는 반드시 NULL로 종료되어야 합니다ㅣ.

위 두 함수는 2개의 문자열을 NULL문자까지 비교하기 때문에 반드시 2개의 문자열이 NULL로 종결되어야 합니다.


2. 초기화가 되지 않은 포인터에 대해서 strcmp(), stricmp() 함수를 사용하면 안됩니다.




strncmp(), strnicmp() 함수를 사용할 때 주의해야 할 점

* strncmp(), strnicmp() 함수를 사용할 때 주의해야 할 점

1. 문자열을 비교할 때 지정된 크기만큼만 비교하므로 그 크기를 정확하게 사용해야 합니다.

크기가 정확하지 않은 경우 다른 메모리 번지를 침범하게 되어 프로그램이 오동작할 수 있습니다.

댓글
댓글쓰기 폼
공지사항
Total
2,732,995
Today
780
Yesterday
856
«   2018/06   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함