반응형

➰ 코딩 부트캠프 35

[0 Circle] Libft - ft_itoa, ft_strmapi

📌ft_itoa 정수를 문자열로 변환 char *ft_itoa(int n);➕ 매개변수 (Parameters) n : 문자열로 변환할 정수 ➕ 반환값 (Return) char * : 변환된 문자열 주소 반환 ➕ 설명 (Description) 저는 처음에 이 함수를 재귀를 사용해서 코드를 짰더니 무리넷 검사에서 memleak 이 발생하였습니다. (그래서 배열을 이용하여 푸는 방법으로 수정하였습니다!) ➕ 코드 (Code) #include "libft.h" static char *ft_handle_zero(void) { char *ptr; if (!(ptr = (char *)ft_calloc(2, sizeof(char)))) return (NULL); ptr[0] = '0'; return (p..

[0 Circle] Libft - ft_strtrim, ft_split

📌ft_strtrim (왼쪽에서 set이 아닌 문자나오지 않는 부분)부터 (오른쪽에서 set이 아닌 문자가 나오지 않는 부분)까지의 문자열로 잘라는 함수 char *ft_strtrim(char const *s1, char const *set); ➕ 매개변수 (Parameters) s1 : 원본 문자열 set : 있으면 안되는 문자들을 가지고 있는 문자열 ➕ 반환값 (Return) char * : 부분 문자열 반환 ➕ 설명 (Description) ➕ 코드 (Code) #include "libft.h" char *ft_strtrim(char const *s1, char const *set) { size_t start; size_t end; size_t i; if (!s1) return (0); i = 0;..

[0 Circle] Libft - ft_substr, ft_strjoin

📌ft_substr 문자열 s의 start위치부터 len의 길이만큼 저장해서 주소반환 char *ft_substr(char const *s, unsigned int start, size_t len);➕ 매개변수 (Parameters) s : 복사할 원본 문자열의 주소 start : 원본 문자열을 자를 시작 위치 len : 복사할 길이 ➕ 반환값 (Return) char * : 복사한 문자열의 주소 반환 ➕ 설명 (Description) ➕ 코드 (Code) #include "libft.h" char *ft_substr(char const *s, unsigned int start, size_t len) { char *tmp; size_t i; i = 0; if (!s) return (0); if (star..

[0 Circle] Libft - ft_calloc, ft_strdup

📌ft_calloc (size * count)의 크기만큼 malloc하고 모두 0으로 초기화 하는 함수 void *ft_calloc(size_t count, size_t size);➕ 매개변수 (Parameters) count : malloc할 크기 size : malloc 할 한칸의 사이즈 ➕ 반환값 (Return) void * : 0을 초기화한 주소반환 ➕ 설명 (Description) 다른 함수에서 ft_calloc을 통해서 공간을 초기화하다가 오류가 났어도 0을 반환할 뿐이지 return (0)으로 함수를 아예 끝내는 것이 아니기 때문에 return (ft_calloc); 을 해야한다 ➕ 코드 (Code) #include "libft.h" void *ft_calloc(size_t count, si..

[0 Circle] Libft - ft_strnstr, ft_strncmp

📌ft_strnstr 문자열 내에서 부분문자열을 탐색하는 함수 char *ft_strnstr(const char *str, const char *to_find, size_t n); ➕ 매개변수 (Parameters) str : 문자열을 검색할 대상 to_find : 검색할 문자열 n : str의 n번째 문자까지만 확인 ➕ 반환값 (Return) char * : 문자열이 존재하면 해당 문자열이 존재하는 곳의 포인터를 반환, 존재하지 않으면 NULL 반환 ➕ 설명 (Description) ➕ 코드 (Code) #include "libft.h" int find_str(const char *str, const char *to_find, int n) { str += n; while (*to_find) { if (..

[0 Circle] Libft - ft_strchr, ft_strrchr

📌ft_strchr src에서 특정 문자를 검색하는 함수 char *ft_strchr(const char *str, int c) ; ➕ 매개변수 (Parameters) str : 검색을 하려는 문자열 c : 검색할 문자 ➕ 반환값 (Return) char * : 문자가 존재하면 해당 문자가 존재하는 곳의 포인터를 반환, 존재하지 않으면 NULL 반환 ➕ 설명 (Description) ➕ 코드 (Code) #include "libft.h" char *ft_strchr(const char *str, int c) { while (*str != '\0') { if (*str == c) return ((char *)str); ++str; } if (c == '\0') return ((..

[0 Circle] Libft - ft_strchr, ft_strrchr

📌ft_strchr src에서 특정 문자를 검색하는 함수 char *ft_strchr(const char *str, int c) ; ➕ 매개변수 (Parameters) str : 검색을 하려는 문자열 c : 검색할 문자 ➕ 반환값 (Return) char * : 문자가 존재하면 해당 문자가 존재하는 곳의 포인터를 반환, 존재하지 않으면 NULL 반환 ➕ 설명 (Description) ➕ 코드 (Code) #include "libft.h" char *ft_strchr(const char *str, int c) { while (*str != '\0') { if (*str == c) return ((char *)str); ++str; } if (c == '\0') return ((..

[0 Circle] Libft - ft_strlcpy, ft_strlcat

📌ft_strlcpy src에서 dst로 값을 size길이 만큼 복사 size_t ft_strlcpy(char *dst, const char *src, size_t dstsize));➕ 매개변수 (Parameters) dst : 채우고자 하는 메모리의 시작 주소 src : 복사하려는 메모리의 시작 주소 dstsize : 채우고자 하는 바이트의 수 ➕ 반환값 (Return) size_t : src의 총 길이 ➕ 설명 (Description) ⚡ 문자열의 끝인 dest[size-1]는 NULL 값으로 채워주기 size가 0일 때 바로 함수 끝내기 dst의 주소가 NULL일 때 NULL반환 ➕ 코드 (Code) #include "libft.h" size_t ft_strlcpy(char *dst, const c..