반응형

분류 전체보기 148

[0 Circle] Libft - ft_lstsize, ft_lstadd_back

📌ft_lstsize 링크드리스트의 총 리스트의 개수 반환 int ft_lstsize(t_list *list);➕ 매개변수 (Parameters) list : 링트드리스트의 시작주소 ➕ 반환값 (Return) int : 리스트의 총 개수 ➕ 설명 (Description) ➕ 코드 (Code) #include "libft.h" int ft_lstsize(t_list *list) { int num; num = 0; while (list) { num++; list = list->next; } return (num); }📌ft_lstadd_back 리스트의 맨 뒷부분에 new라는 이름의 리스트를 넣는다 void ft_lstadd_back(t_list **list, t_list *new);➕ 매개변수 (Param..

[0 Circle] Libft - ft_lstnew, ft_lstadd_front

📌ft_lstnew 새로운 t_list 를 동적할당하고 content는 t_list의 content 변수에 저장하고 next 변수는 NULL 로 초기화한다 t_list *ft_lstnew(void *content);➕ 매개변수 (Parameters) content : 새로 만든 리스트에 채워넣을 content 변수의 값 ➕ 반환값 (Return) t_list : 새로 만든 리스트 ➕ 설명 (Description) 구조체도 동적할당을 시켜주어야 사용이 가능하다 ➕ 코드 (Code) #include "libft.h" t_list *ft_lstnew(void *content) { t_list *node; if (!(node = (t_list *)malloc(sizeof(t_list)))) return (0);..

[0 Circle] Libft - ft_putchar_fd, ft_putstr_fd, ft_putendl_fd, ft_putnbr_fd

📌ft_putchar_fd __문자 'c'를 주어진 파일디스크립터로 출력 __ ➕ 코드 (Code) #include "libft.h" void ft_putchar_fd(char c, int fd) { write(fd, &c, 1); }📌ft_putstr_fd __문자열 's'을 주어진 파일디스크립터로 출력 __ ➕ 코드 (Code) #include "libft.h" void ft_putstr_fd(char *s, int fd) { if (!s) return ; while (*s) { write(fd, s, 1); s++; } }📌ft_putendl_fd __문자열 's'을 주어진 파일디스크립터로 출력하고 newline으로 끝내기 __ ➕ 코드 (Code) #in..

[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 (..