c++ 코드로 보는 - 문자열 비교(strcmp), 문자열 카피(strcpy)
문자열 비교(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));
}
0 개의 댓글