42Seoul/libft 16

libft - strlcpy, strlcat, strncmo

strlcpy strlcpy 함수 헤더 파일: 함수 원형: 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” 이렇게 들어감..

42Seoul/libft 2023.03.24

libft - bzero, memcpy, memove

bezro 함수원형 voidft_bzero(void *dest, size_t len); dest는 저장할 메모리 주소 시작 지점 len은 얼마의 바이트 수 만큼 넣을 것이냐임. 메모리 안에 채워지는 데이터는 0임 #include "libft.h" voidft_bzero(void *dest, size_t len) { unsigned char*temp; size_ti; unsigned intzero; zero = 0; temp = (unsigned char *)dest; i = 0; while (i < len) { temp[i++] = (unsigned int)zero; } } 참고 사이트 memset, bzero 함수 구현 memset, bzero 함수 구현 틀린 내용이나 지식이 있다면 댓글로 알려주세요!..

42Seoul/libft 2023.03.24

Makefile

Makefile으로 libft.a 라이브러리 만들기 Makefile은 쉽게 설명해서 아주 큰 프로젝트를 진행할 때 소스 파일(C파일)들을 한 번에 컴파일을 해야된다. gcc 컴파일러를 사용하여 한 번에 컴파일을 하려고 했을 때 gcc strlen.c putchr.c 즉, gcc를 할 때 뒤에 모든 파일들이 와야한다. 만약 파일들이 100개 정도가 오면 적어줄 파일이 너무 많다. 그게 너무 귀찮아서 개발자분들이 makefile이라는 것을 만들었다고 생각하면 된다. Makefile 기본 구조 Makefile은 타겟(Target), 의존성(Depedency), 명령(Recipe)의 세가지로 나뉜다. : (tab) target은 대상 이름, 명령어에 의해 생성되는 파일, 아카이브 파일, 오브젝트 파일임. 즉 실..

42Seoul/libft 2023.03.23

libft.h 헤더 파일 만들기

libft.h 헤더 파일 만들기 참고 사이트 [C] 헤더파일 만들기 [C] 헤더파일 만들기 C언어에서 헤더파일을 만들어보자. velog.io 헤더 파일 : 매크로를 정의한다. 헤더 파일을 통해 자신이 사용하는 함수, 구조체, 라이브러리, C표준 라이브러리를 추가 하여 자신만의 헤더 파일을 만들 수 있다. 헤더 파일 작성법 1.libft.h 헤더 파일 작성 2.libft.h 헤더 파일이 있는지 ifndef로 검사 후 없으면 define을 통해 정의한다. endif로 헤더 파일 종료를 알린다. #ifndef LIBFT_H # define LIBFT_H #endif 헤더 파일 작성 #ifndef LIBFT_H # define LIBFT_H # include # include # include typedef s..

42Seoul/libft 2023.03.23