strdupstrdup는 스트링을 복제해서 할당된 메모리에 넣고 리턴을 해주는 친구임malloc을 사용해야함.함수 원형char *ft_strdup(const char *string)구현#include "libft.h"char *ft_strdup(const char *string){ char *temp; int i; int count; i = 0; count = strlen(string); temp = (char *)malloc(count * sizeof(char) + 1); while (string[i]) { temp[i] = string[i]; i++; } temp[i] = '\\0'; return (temp);}참고 사이트strdup() — 스트링 복제 strdup() — 스트링 복제형식 #i..
strntr함수 원형char *ft_strnstr(const char *str, const char *substr, size_t len)str에서 substr을 찾을 것임. 단, len만큼 찾을 것임똑같은 값을 찾더라도 len이 충족되지 않으면 (NULL)리턴substr에 아무것도 없으면 str리턴substr, str에 아무것도 없으면 str리턴#include "libft.h"char *ft_strnstr(const char *str, const char *substr, size_t len){ char *s1; char *s2; size_t count; if (*substr == 0 && *str == 0) return ((char *)str); if (*substr == 0) return ((cha..
strrchr함수원형char *ft_strrchr(const char *s, int c)strrchr() 함수s 문자열 처음부터 c와 같은 문자를 찾을 때까지 루프를 돈다.c와 같은 문자를 찾으면 현재 s 포인터의 위치를내부에서 임시로 저장해놓고 계속 루프를 돈다.또 c 와 같은 문자를 찾으면 다시 임시로 저장한 후 c 와 같은 문자열이 없으면 아까 찾은 문자의 주소를 리턴한다.이 밑에 코드는 세그먼트 fault나옴왜 그럴까?이미 주소값을 통해 연결된 second에 또 새로운 주소값을 연결하려고 해서 그럼#include "libft.h"#include char *ft_strrchr(const char *s, int c){ char *temp = (char *)s; char *second = temp; w..
toupper함수원형int ft_toupper(int c)toupper 라이브러리는 소문자를 대문자로 변경해서 반환하며, 다른 모든 문자는 그대로 반환소문자를 대문자로 변경다른 모든 문자는 그대로 반환int형으로 받는데 캐스팅 해서 넣어준다음 돌려주면 됨. 굳이 캐스팅 안 해도 됨#include "libft.h"int ft_toupper(int c){ if (c >= 'a' && c 참고 사이트[C언어/C++] tolower, toupper 대문자 소문자 변경 [C언어/C++] tolower, toupper 대문자 소문자 변경안녕하세요. BlockDMask 입니다. 오늘은 C언어, C++에서 알파벳을 소문자는 대문자로, 대문자는 소문자로 변경해주는 tolower, toupper 함수에 대해서 알아보려고..
strlcpystrlcpy 함수헤더 파일: 함수 원형: char* strlcpy(char* dest, const char* origin, size_t size);정의: 문자열을 복사해주는 함수이다. dest안에 src의 값 size만큼을 복사해준다.size는 src의 길이 이하 일 때 이용됨.strlcpy는 src의 ‘\0’ 값을 만나기 전 혹은 size -1 만큼 복사가 이루어졌을 때 복사를 중지한다.쉽게 설명해보자이 친구는 dest, src, size가 있는데src의 문자열을 dest에 복사해줌, 그리고 리턴은 src의 길이를 리턴size는 src의 길이보다 작아도 됨ex) src = “123456”, size = 5리턴값은 src의 길이인 6 dest은 “1234” 이렇게 들어감코드에서 왜 size..
bezro 함수원형void ft_bzero(void *dest, size_t len);dest는 저장할 메모리 주소 시작 지점len은 얼마의 바이트 수 만큼 넣을 것이냐임. 메모리 안에 채워지는 데이터는 0임#include "libft.h"void ft_bzero(void *dest, size_t len){ unsigned char *temp; size_t i; unsigned int zero; zero = 0; temp = (unsigned char *)dest; i = 0; while (i 참고 사이트memset, bzero 함수 구현 memset, bzero 함수 구현틀린 내용이나 지식이 있다면 댓글로 알려주세요! 감사합니다! (2021.01.03 내용수정) 2021.01.07 내용 업데이트 ..