๋ ๋ฌธ์์ด์ด ๊ฐ์์ง ๋น๊ตํ๋ ํจ์์ด๋ค.
strcmp ์ํ
int strcmp(const *_Str1, char const *_Str2);
strcmp ๋ฐํ๊ฐ
- ์์คํค์ฝ๋ ๊ธฐ์ค
str1 > str2 : 1๋ฐํ
str1 < str2 : -1๋ฐํ
str1 = str2 : 0๋ฐํ
์์ ์ฝ๋
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char password[] = "aaaa";
char user[] = "b";
int result = strcmp(password, user);
if ( result == 0) {
printf("\nFlag is \"Welcome\"\n");
}
else if (result < 0) {
printf("\nResult : %d\n", result);
}
else if (result > 0) {
printf("\nResult : %d\n", result);
}
return 0;
}
str1 = aaaa, str2 = b
result = -1
str1 = aaba, str2 = aabaa
result = -1
strcmp ๊ตฌํ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int mystrcmp(char const* str1, char const* str2) {
int i, is_equal=1;
for (i = 0; 1; i++) {
if (*(str1 + i) != *(str2 + i)) {
is_equal = 0;
break;
}
//flag๊ฐ NULL ๋ฌธ์(ASCII๊ฐ 0)์ธ ๊ฒฝ์ฐ ์ค๋จ
if (*(str1 + i) == 0) break;
}
if (is_equal == 1) {
return 0;
}
else {
if (*(str1 + i) > * (str2 + i)) return 1;
else return -1;
}
}
int main() {
char string1[] = "AAAA";
char string2[] = "AAAA";
int result = mystrcmp(string1, string2);
if ( result == 0) {
printf("๋ ๋ฌธ์์ด์ด ๊ฐ์ต๋๋ค.\n");
}
else if (result < 0) {
printf("str1\"%s\" < str2\"%s\"\n", string1, string2);
}
else if (result > 0) {
printf("str1\"%s\" > str2\"%s\"\n", string1, string2);
}
return 1;
}
Reference:
strcmp ํจ์์ ๋ํ์ฌ
C ์ธ์ด ๊ด๋ จ ์ ์ฒด ๋ชฉ์ฐจ : http://blog.naver.com/tipsware/221010831969 1. strcmp ์ด ํจ์์ ์ด๋ฆ์ธ strc...
blog.naver.com
C ์ธ์ด ์ฝ๋ฉ ๋์ฅ: 41.2 ๋ฌธ์์ด ๋น๊ตํ๊ธฐ
strcmp ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๋ฌธ์์ด์ด ๊ฐ์์ง ๋น๊ตํ ์ ์์ผ๋ฉฐ ํจ์ ์ด๋ฆ์ ๋ฌธ์์ด์ ๋น๊ตํ๋ค(string compare)์์ ๋ฐ์์ต๋๋ค(string.h ํค๋ ํ์ผ์ ์ ์ธ๋์ด ์์ต๋๋ค). strcmp(๋ฌธ์์ด1, ๋ฌธ์์ด2); int strc
dojang.io
์๋ชป๋ ๋ถ๋ถ์ด ์์ ์ ์์ต๋๋ค !! ๋ถ์กฑํ ์ ์ ๋๊ธ๋ก ํผ๋๋ฐฑ ๋ฐ๋๋๋ค :)