반응형

42Seoul 24

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