[C, C++] 문자열 관련 함수 ( strlen, strcpy, strcat, strcmp )

지난 번에 메모리 관련 함수 들에 이어서 이번엔 문자열 관련 함수를 알아보자.

메모리 관련 포스팅 바로 가기
 
먼저 strlen 이다.. 말그대로 str , length 길이 라는 뜻이다.

return 형은 int 이다.

쓰는 방법은

char* str = "abcde" ;

int nlength = strlen(str ) ;

이렇게 쓰고 출력해보면 5라는 값이 나온다.

다음은 strcpy 이다.

이 것은 지난번 memcpy 처럼 문자열을 복사하는 함수이다.

char* src = "abcde" ;
char dst[20] = { 0, } ;
 
strcpy( dst, src ) ; 

이렇게 쓰면 abcde가 dst에 복사가 된다.

strcat은 문자를 합치는? 붙이는? 함수이다.

사용방법은

char dst[20] = "abcde" ;
char* src= "fghij"  ;

strcat(dst, src ) ;

처럼 하면 abcdefghij 가 쭉 붙은 문자열이 된다.

dst + src 라고 보면 된다.

strcmp는 비교 함수로 A 와 B 가 같은지 본다.

사용 방법은..

 char* dst = "abcde" ;
 char* src = "abcde"  ;

 int nResult = strcmp(dst, src ) ;

처럼 쓰면 된다..

strcmp(A, B ) ;

라고 봤을 때 A가 크면 1을 리턴하고 B가 더 크면 -1, 두개가 같다면 0을 리턴

한다.

0은 if 문을 만나면 false로 인식되므로,

if(!strcmp(dst, src ) )

같은 문으로 써도 되고,

switch(strcmp(dst, src))
{
        case -1:
              break ; 

        case 0:
              break ;

        case 1:
             break ;
}

이렇게 사용해도 된다.





Posted by 바람처럼..
|