ft_strchr

“ft_strchr에 대하여”
<목차>목차>
strchr – locate character in string
(1) MY CODES
#include "libft.h"
char *ft_strchr(const char *s, int c)
{
char src;
int len;
len = ft_strlen(s); // strlen
src = c;
while (len-- >= 0)
{
if (*s == src)
return ((char *)s);
s++;
}
return (NULL);
}
(2) MAN STRCHR
SYNOPSIS
#include <string.h>
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
DESCRIPTION
The strchr() function locates the first occurrence of c (converted to a
char) in the string pointed to by s. The terminating null character is
considered to be part of the string; therefore if c is `\0', the func-
tions locate the terminating `\0'.
The strrchr() function is identical to strchr(), except it locates the
last occurrence of c.
RETURN VALUES
The functions strchr() and strrchr() return a pointer to the located
character, or NULL if the character does not appear in the string.
- strchr은 매개 변수로 const 문자열과 int c를 받아서 문자열 내에서 c가 처음으로 등장하는 부분을 찾아서 포인터를 그쪽으로 옮긴 후, 그 char 포인터를 반환한다. 이 과정에서 c는 char로 변환되며, 문자열의 NULL 또한 문자열의 일부로 처리되기 때문에 찾는 c가 ‘\0’이라면 반환되는 값 또한 문자열의 ‘\0’이다.
- strrchr은 strchr의 작동과 동일하지만, int c가 마지막으로 등장하는 곳을 가리킨다는 점이 다르다. 여기서 다루지는 않겠지만, 아마도 역순으로 찾을 것으로 생각할 수 있다.