관리 메뉴

有希

C++/문자열 관련 함수 4총사 본문

프로그래밍/C++

C++/문자열 관련 함수 4총사

有希. 2022. 1. 28. 00:04

옛날 C관련 문자열 함수 4총사

1. StrLen

문자열의 길이를 구한다.

int main()
{
    char a[100] = "Hello";

    cout << strlen(a);

    return 0;
}

와 같이 하면 5가 나온다. 코드 구현은 while(a[idx]!='\0')로 개수를 세서 return 해주면 된다.


2. StrCpy

1번의 구현과 같은 while로 감싸고 dest[idx] = src[idx]; 로 넣어주면 된다.
포인터 버전을 원한다면 *dest++ = *src++; 해주면 됨.


3. StrCat

1번에서 구한 StrLen 함수를 이용한다.

    int len = StrLen(dest);

    int i = 0;
    while (src[i] != '\0')
    {
        dest[len + i] = src[i];
        i++;
    }

    dest[len + i] = '\0';

    return dest;

중요한 점은 dest의 끝에도 문자열 끝을 알리는 값을 넣어줘야 한다.


4. StrCmp

기존 구현된 함수를 보면 두 문자열을 비교해서 같다면 0을 return 해주지만, 다를 경우에는 결과에 따라 다른 값을 return한다.

앞쪽 녀석이 사전상 먼저 나온다면 -1을 return 하고
뒤쪽 녀석이 사전상 먼저 나온다면 1을 return 해준다.

	int i = 0;
	while (a[i] != '\0' || b[i] != '\0')
	{
		if (a[i] > b[i])
			return 1;
		if (a[i] < b[i])
			return -1;
		i++;
	}

	return 0;

이렇게 구현해주면 된다. a,b는 각각 문자열 이다.

'프로그래밍 > C++' 카테고리의 다른 글

C++/malloc(free) vs new(delete)  (0) 2022.01.28
C++/메모리 구조  (0) 2022.01.28
C++/순수 가상 함수  (0) 2022.01.28
C++/바인딩(Binding)  (0) 2022.01.28
C++/객체지향 3대 특징  (0) 2022.01.28