반응형
strstr은 두개의 문자열을 입력받습니다.
첫 번째로 입력받은 문자열을 str, 두 번째로 입력받은 문자열을 to_find라고 할때에 str에서 tofind를 찾아서 str안의 to_find의 포인터를 반환해줍니다.
한번 작동되는 것을 살펴보겠습니다.
#include <stdio.h>
#include <string.h>
int main()
{
char s1[14] = "Hello, World!";
char* ptr1 = strstr(s1, "World");
char* ptr2 = strstr(s1, "o,");
printf("%s\n", ptr1); //World!
printf("%s\n", ptr2); //o, World!
return 0;
}
그런데 일치하는 부분이 없다면 아무것도 출력하지 않게 됩니다.
한마디로 null pointer을 출력한다고 보시면 편하겠죠.
#include <stdio.h>
#include <string.h>
int main()
{
char s1[14] = "Hello, World!";
char* ptr = strstr(s1, "world");
printf("%s\n", ptr); //
return 0;
}
이제 한번 함수를 구현해 보겠습니다.
strstr 함수
char *OdOp_strstr(char *str, char *to_find)
{
int i;
if (*to_find == '\0')
return (str);
while (*str != '\0')
{
if (*str == *to_find)
{
i = 0;
while (str[i] != '\0' && to_find[i] != '\0' && str[i] == to_find[i])
{
i++;
}
if (to_find[i] == '\0')
return (str);
else if (str[i] == '\0')
return (0);
}
str++;
}
return (0);
}
반응형
'Language > C언어' 카테고리의 다른 글
C036_printf 응용하기기 (2) | 2023.12.02 |
---|---|
C035_strlcat 함수 구현해서 사용하기 (0) | 2023.10.30 |
C033_strncat 함수 구현해서 사용하기 (2) | 2023.10.28 |
C032_strcat 함수 구현해서 사용하기 (0) | 2023.10.27 |
C031_strncmp 함수 구현해서 사용하기 (0) | 2023.10.26 |