---
# System prepended metadata

title: 1 Libft 개요
tags: [Libft]

---

---
Category : Libft
Id : 1
Title : Libft 개요
Description : Libft 프로젝트에 대한 기본적인 내용
Date : 2020, 10, 16 (Fri)
Auther : seolim
tags : Libft
---

# 1 Libft 개요

> Caution

본 문서를 포함한 블로그의 모든 내용은 <b>42 innovation academy</b>의 과제의 작성자의 해석 및 풀이 등으로 이루어져 있습니다.</br>본인이 42 교육생이거나 42 교육을 희망하는 분이라면 글을 먼저 보기보다는 고민해보고 읽어보기를 추천드립니다.

> 목적

Libft는 c library중 `<string.h>`, `<stdlib.h>`, `<ctype.h>`에 포함된 함수를 직접 구현하고 custom library로 compile해보는 과제이다.</br></br>해당 과제에서 필수로 구현해야 하는 함수들은 아래와 같다.

```c
void* memset (void* ptr, int value, size_t num );

void bzero(void *s, size_t n);

void* memcpy(void* destination, const void* source, size_t num);

void *memccpy(void *dest, const void *src, int c, size_t n);

void* memmove(void* destination, const void* source, size_t num);

void* memchr(const void* ptr, int value, size_t num);

int memcmp(const void* ptr1, const void* ptr2, size_t num);

size_t strlen(const char* str);

size_t strlcpy(char* dst, const char* src, size_t size);

size_t strlcat(char* dst, const char* src, size_t size);

char* strchr(char* str, int character);

char* strrchr(char* str, int character);

int atoi(const char* str);

int isalpha(int c);

int isdigit(int c);

int isalnum(int c);

int isascii(int c);

int isprint(int c);

int toupper(int c);

int tolower(int c);

void* calloc(size_t elt_count, size_t elt_size)

char* strdup(const char* str);
```

Piscine을 통과한 교육생이라면 이미 작성해보았거나 한번쯤 보았던 함수들이 있을 것이다. 해당 과제에선 각각의 함수를 이해해보고 이러한 함수들이 언제 어디에서 사용될 수 있을지 생각해보는 과정을 가지도록 하자.

