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;
}
'프로그래밍 > C' 카테고리의 다른 글
윈도우 소켓 ] 소켓 옵션, setsockopt, getsockopt, SOL_SOCKET 옵션들 (0) | 2023.10.01 |
---|---|
윈도우 소켓 ] connect 비동기로 처리하기 (0) | 2023.09.30 |
C ] Data Types Range (0) | 2023.09.15 |
extern "C" {} (0) | 2023.07.18 |
C, C++ ] system("pause") 대신 사용할 수 있는 방법 (0) | 2023.07.11 |