분류 전체보기 108

#1.13 ft_strlcat (수정완료)

설명strlcat은 문자열 src 를 dst 의 끝에 추가해주는 함수이다.함수는 NULL 종료 문자열 src 를 dst 의 끝에 추가합니다.복사가 완성한 전체 문자열의 길이가 size - 1 가 되어야한다.즉 size = dst 길이 + 붙일 데이터 길이 + NULL 인자dst - 기존 데이터src - 붙일 데이터size - size = dst 길이 + 붙일 데이터 길이 + NULL 리턴값 size strlen(src) + sizesize > strlen(dst) -> strlen(src) + strlen(dst)

42 Libft 2020.10.05

#1.12 ft_strlcpy

size_t strlcpy(char *dst, const char *src, size_t dstsize); 설명 strncpy 에서는 source의 길이가 destination의 버퍼 길이와 같거나 더 길 경우, NUL-terminate되지 않는다. strncpy의 NUL-terminate를 보장하기 위한 함수 -> strlcpy size-1 만큼의 string 복사와 함께 NULL로 끝남을 보장해 준다. 인자 dst - 수정 또는 추가되는 널로 끝나는 문자열 src - 복사 될 널 종료 문자열 dstsize - 버퍼의 크기 리턴값 src의 길이

42 Libft 2020.10.05

#1.11 ft_memcmp (수정완료)

설명두 개의 메모리 블록을 비교한다.ptr1 이 가리키는 처음 num 바이트의 데이터와 ptr2 가 가리키는 처음 num 바이트의 데이터를 비교하여 이들이 같다면 0 을 리턴하고 다르다면 0 이 아닌 값을 리턴한다. 인자s1메모리 블록을 가리키는 포인터s2메모리 블록을 가리키는 포인터n비교할 바이트 수 리턴값만일 두 메모리 블록이 정확히 같다면 0 을 리턴한다.다르다면 mem1 - mem2를 리턴한다

42 Libft 2020.10.05

#1.10 ft_memchr (수정완료)

void *memchr(const void *s, int c, size_t n); 설명메모리 블록에서의 문자를 찾는다.ptr 이 가리키는 메모리의 처음 부터 n 까지 value 와 일치하는 값의 주소를 리턴한다. 인자s검색을 수행할 부분의 시작 주소이다.c찾을 값으로, int 로 값이 전달되지만 함수 내부적으로는 한 바이트씩 비교하기 때문에 이 값은 unsigned char 로 변환되어 사용된다. 여기에 null이 들어오는거도 생각해야함n검색을 시작한 부분 부터 검색을 수행할 만큼의 바이트 수 리턴값메모리 블록에서 value 와 일치하는 값이 있다면 그 곳의 주소를 리턴하고 값을 찾지 못한다면 NULL 을 리턴한다.

42 Libft 2020.10.05

#1.8 ft_memmove

void* memmove(void* destination, const void* source, size_t num); 설명memmove() 함수는 src 메모리 영역에서 dest 메모리 영역으로 n byte 만큼 복사합니다.src 배열은 src와 dest 의 메모리 영역과 겹치지 않는 메모리 영역부터 먼저 복사합니다 인자destination 데이터가 복사될 곳을 가리키는 포인터로, 언제나 void* 형이다.source 복사할 데이터가 있는 위치를 가리키는 포인터로 언제나 void* 형이다.num복사할 바이트 수 리턴값destination 이 리턴된다. 중요한 점이있다 dest가 src보다 주소가 작을 때와 클 때를 구분해야한다.dest의 주소가 src보다 작은 값이면, 29~32라인 처럼 순차적으로 복사..

42 Libft 2020.10.04

#1.7 ft_atoi 수정완료

설명문자열을 정수로 변환한다.C 형식 문자열을 정수로 변환하여 변환된 값을 리턴한다 C 형식 문자열을 정수로 변환하여 변환된 값을 리턴한다.이 함수는 C 형식 문자열에서 비-공백 문자가 나오기 전 까지 최대한 많은 공백 문자(' ', '\t', \n') 들을 무시한다. 그 다음에 첫 번째 비-공백 문자부터 최대한 많은 숫자들을 수로 변환한다. 이 때, 숫자의 맨 앞부분에는 + 나 - 가 올 수 도 있다. 숫자들 다음에 나타나는 문자들은 모두 무시된다. 변환이 이루어 지지 않는 경우 0 이 리턴된다. 인자정수를 포함하고 있는 C 형식 문자열 빈 문자열이 오는 경우도 생각해야한다 리턴 값성공적으로 변환을 하였다면 int 값을 리턴한다.만일 변환을 실패하였다면 0 이 리턴된다.

42 Libft 2020.10.03

#1.6 ft_memccpy

설명memccpy(3)는 src 데이터를 n바이트만큼 dest에 복제할 때에 src 데이터에서 문자 c를 만나면 c까지 복제하고 복제를 중단합니다. 복제된 dest변수에서 복제가 끝난 다음 번지를 return합니다. 만약 문자 c를 만나지 않았다면, n바이트를 복제하고 NULL을 return합니다. 인자dest - 복제가 되는 destination 변수 src - 복제할 원본 데이터c - src에서 만나면 복제를 중단할 데이터(unsigned char값) n - 복제할 데이터의 byte수 리턴 값dest + 복사된 바이트 수 - dest에 복제가 끝난 데이터의 다음 메모리 번지 - 추가 복제를 쉽게 하기 위하여 다음 번지를 return함 NULL- src에서 c문자를 만나지 못함. - n바이트를 복제하고..

42 Libft 2020.10.03

#1.5 ft_strncmp (수정 완료)

설명C 형식 문자열인 str1 의 처음 num 개의 문자를 다른 C 형식 문자열인 str2 의 처음 num 개의 문자와 비교한다.이 함수는 처음 문자들 부터 비교를 수행하되, 다른 문자가 나타나거나 NULL 에 도달하거나, num 개의 문자들을 비교할 때 까지 비교를 수행하게 된다. 인자str1비교할 C 형식 문자열str2비교할 C 형식 문자열num(처음 부터) 비교할 최대 문자의 개수 리턴값만일 num 개의 문자가 모두 일치한다면 0 을 리턴한다.비교한 num 개의 문자 중 최초로 일치하지 않는 문자의 값이 str1 이 더 큰 경우 0 보다 큰 값을, str2 가 더 큰 경우 0 보다 작은 값을 리턴한다.

42 Libft 2020.10.03