c++ 코드로 보는 - 문자열 비교(strcmp), 문자열 카피(strcpy)

by - 오후 7:06

문자열 비교(strcmp), 문자열 카피(strcpy) c++ 코드


#include <stdio.h>

//str1과 str2를 비교
int strcmp(const char *str1, const char *str2) {
        
        //첫번째 str의 마지막까지 확인
        while (*str1) {

                if (*str1 != *str2) break;

                ++str1;
                ++str2;
        }

        //0보다 크면 str1 > str2
        //0보다 작으면 str1 < str2
        //0이면 str1 == str2
        return *(const unsigned char*)str1 - *(const unsigned char*)str2;
}


//source를 dest에 복사
void strcpy(char *dest, char *source){
        
        //source가 있을 때 까지 dest에 복사
        while (*source) {
                *dest = *source;

                ++dest;
                ++source;
        }
}

int main() {
        char str1[] = "abcde";
        char str2[] = "zewdf";

        // output : -25 => str1 < str2
        printf("%d\n", strcmp(str1, str2));
        // output : 25 => str1 > str2
        printf("%d\n", strcmp(str2, str1));

        strcpy(str1, str2);

        // output : 0 => str1 == str2
        printf("%d\n", strcmp(str2, str1));

}

You May Also Like

0 개의 댓글

featured posts