[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 ;
}
이렇게 사용해도 된다.
'프로그래밍 > C,C++' 카테고리의 다른 글
[C,C++] strncmp 함수. (1) | 2012.03.23 |
---|---|
[C,C++] memset, memcpy 함수 사용법! (6) | 2011.10.11 |
[C,C++] 더블버퍼링.. (0) | 2011.10.05 |
[C,C++] 함수 오버로딩(Function Overloading) (0) | 2011.09.15 |
[C,C++] 디폴트(DeFault) 매개 변수 (0) | 2011.09.14 |