Commit 86d2f2a7 by 정용석

strcmp - 반환 값 구분, strcpy - 함수 사용방법 주석추가

parent 7bf92264
...@@ -14,6 +14,11 @@ int my_strlen(const char *str){ ...@@ -14,6 +14,11 @@ int my_strlen(const char *str){
return count; return count;
} }
/**
* src에 저장된 문자열을 dest로 복사하는 함수
* @param dest의 길이가 src의 길이보다 길어야합니다.
* @return
*/
char *my_strcpy(char *dest, const char *src){ char *my_strcpy(char *dest, const char *src){
if(dest == NULL || src == NULL){ if(dest == NULL || src == NULL){
return NULL; return NULL;
...@@ -31,7 +36,7 @@ char *my_strcpy(char *dest, const char *src){ ...@@ -31,7 +36,7 @@ char *my_strcpy(char *dest, const char *src){
int my_strcmp(const char *str1, const char *str2){ int my_strcmp(const char *str1, const char *str2){
if(str1 == NULL || str2 == NULL){ if(str1 == NULL || str2 == NULL){
return -1; return -100; // NULL 입력시 -100 반환
} }
int i = 0; int i = 0;
while(str1[i] == str2[i] && str1[i] != '\0' && str2[i] != '\0'){ while(str1[i] == str2[i] && str1[i] != '\0' && str2[i] != '\0'){
...@@ -131,8 +136,10 @@ int main(void){ ...@@ -131,8 +136,10 @@ int main(void){
printf("두 문자열이 같습니다.\n"); printf("두 문자열이 같습니다.\n");
}else if(my_strcmp(str5, str6) == -1){ }else if(my_strcmp(str5, str6) == -1){
printf("첫 번째 문자열이 작습니다.\n"); printf("첫 번째 문자열이 작습니다.\n");
}else{ }else if(my_strcmp(str5, str6) == 1){
printf("첫 번째 문자열이 큽니다.\n"); printf("첫 번째 문자열이 큽니다.\n");
}else{
printf("잘못된 함수 사용입니다.\n");
} }
printf("%s %s\n", str6, str7); printf("%s %s\n", str6, str7);
...@@ -140,8 +147,10 @@ int main(void){ ...@@ -140,8 +147,10 @@ int main(void){
printf("두 문자열이 같습니다.\n"); printf("두 문자열이 같습니다.\n");
}else if(my_strcmp(str6, str7) == -1){ }else if(my_strcmp(str6, str7) == -1){
printf("첫 번째 문자열이 작습니다.\n"); printf("첫 번째 문자열이 작습니다.\n");
}else{ }else if(my_strcmp(str6, str7) == 1){
printf("첫 번째 문자열이 큽니다.\n"); printf("첫 번째 문자열이 큽니다.\n");
}else{
printf("잘못된 함수 사용입니다.\n");
} }
printf("%s %s\n", str7, str6); printf("%s %s\n", str7, str6);
...@@ -149,8 +158,10 @@ int main(void){ ...@@ -149,8 +158,10 @@ int main(void){
printf("두 문자열이 같습니다.\n"); printf("두 문자열이 같습니다.\n");
}else if(my_strcmp(str7, str6) == -1){ }else if(my_strcmp(str7, str6) == -1){
printf("첫 번째 문자열이 작습니다.\n"); printf("첫 번째 문자열이 작습니다.\n");
}else{ }else if(my_strcmp(str7, str6) == 1){
printf("첫 번째 문자열이 큽니다.\n"); printf("첫 번째 문자열이 큽니다.\n");
}else{
printf("잘못된 함수 사용입니다.\n");
} }
char str3[] = "Hello, WWorld! 안녕!"; char str3[] = "Hello, WWorld! 안녕!";
......
...@@ -39,6 +39,11 @@ int utf8_strlen(const char *str){ ...@@ -39,6 +39,11 @@ int utf8_strlen(const char *str){
return count; return count;
} }
/**
* src에 저장된 문자열을 dest로 복사하는 함수
* @param dest의 길이가 src의 길이보다 길어야합니다.
* @return
*/
char *utf8_strcpy(char *dest, const char *src){ char *utf8_strcpy(char *dest, const char *src){
if(dest == NULL || src == NULL){ if(dest == NULL || src == NULL){
return NULL; return NULL;
...@@ -56,7 +61,7 @@ char *utf8_strcpy(char *dest, const char *src){ ...@@ -56,7 +61,7 @@ char *utf8_strcpy(char *dest, const char *src){
int utf8_strcmp(const char *str1, const char *str2){ int utf8_strcmp(const char *str1, const char *str2){
if(str1 == NULL || str2 == NULL){ if(str1 == NULL || str2 == NULL){
return -1; return -100; // NULL 입력시 -100 반환
} }
int i = 0; int i = 0;
while(str1[i] == str2[i] && str1[i] != '\0' && str2[i] != '\0'){ while(str1[i] == str2[i] && str1[i] != '\0' && str2[i] != '\0'){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment