더듬이의 헬로월드

Hello, World!

프로그래밍 언어/C++ [기본]

[C++기본] 24.문자열-5

더듬이 2021. 9. 23. 19:09
728x90

문제. wcscmp함수 만들기

wcscmp는 두 문자열을 입력받고, 이를 사전순으로 비교해서 같으면 0,

첫번째 문자열이 빠르면 -1, 두번째 문자열이 빠르면 1를 반환하는 함수이다.

이 함수는 어떻게 구현하면 좋을까?

필요한 프로세스

1.입력받는 두 문자열의 길이를 구한다.

2.첫번째 문자부터 비교해 나가며 크기를 비교한다.

3.같으면 다음문자, 다르면 비교 후 -1 or 1 출력!

4.끝까지 같다면, 문자열의 길이 를 비교해서 -1 or 1 출력!

5.문자열의 길이까지 같다면, 0출력!

int cmpcmp(const wchar_t* left, const wchar_t* right) {
//수정할 필요가 없는 함수이다! 상수화 시켜주기
    int leftlen = GetLength(left);
    int rightlen = GetLength(right);
//각 두 문자열의 길이를 구한다.


    int Loop = leftlen < rightlen ? leftlen : rightlen;
//몇번 반복할지 정하기
    for (int i = 0; i < Loop; i++)
    {
        if (left[i] < right[i])
            return -1;
        else if (left[i]>right[i])
            return 1;
//첫번쨰 문자부터 비교해 나간다.
    }
    if (leftlen < rightlen)
        return -1;
    else
        return 1;
//만일 위에서 걸리지 않았다면, Loop번째 까지는 같다는 소리다.
//문자열 길이 비교 후 그래도 같다면 0을 리턴한다.
    return 0;
}
728x90

'프로그래밍 언어 > C++ [기본]' 카테고리의 다른 글

[C++기본] 26.동적 할당  (0) 2021.09.23
[C++기본] 25.구조체 포인터  (0) 2021.09.23
[C++기본] 23.문자열-4  (0) 2021.09.23
[C++기본] 22.문자열-3  (0) 2021.09.23
[C++기본] 21.문자열-2  (0) 2021.09.23