프로그래밍/C
C] strstr 함수 구현
eteo
2023. 9. 15. 23:08
strstr() 함수는 substring을 찾는 함수로 str1에서 str2를 찾는다.
str2의 길이가 0이면 str1을 리턴, str2를 못찾으면 NULL을 리턴, str2를 찾았으면 str1에서 str2 시작 위치의 포인터를 리턴한다.
const char* my_strstr(const char* str1, const char* str2) {
char* ret;
int found = 0;
if (*str2 == 0) {
ret = str1;
} else {
for(; *str1 != 0; str1++) {
if(*str1 == *str2) {
const char *s1 = str1;
const char *s2 = str2;
while(*s1 == *s2 && *s2 != 0) {
s1++;
s2++;
}
if(*s2 == 0) {
found = 1;
break;
}
}
}
}
if (found) {
ret = str1;
} else {
ret = NULL;
}
return ret;
}