본문 바로가기

분류 전체보기174

gnl필수 get_next_line 구성 get_next_line 과제에서는 총 세가지 파일을 제출해야한다. get_next_line.c, get_next_line_utils.c, get_next_line.h. libft를 사용할 수 없는 대신 _utils.c가 허용되어 총 10개의 함수를 사용할 수 있다. 배열을 이용하여 기능을 구현하였으며, 사용한 함수들은 다음과 같다. char*get_next_line(int fd) static char*check_remain(int fd, char *remain) static char*make_next_line(char *remain) static char*update_remain(char *remain) size_tft_strlen(const char *str); char.. 2023. 2. 16.
gnl개념 get_next_line? char *get_next_line(int fd); get_next_line, 이하 gnl은 매개변수 fd로 받아온 숫자에 해당하는 파일 디스크립터의 텍스트에서 개행문자 \n으로 구분되는 한 줄의 문자열을 반환하는 함수이다. 다소 간단해보이는 목표에 비해 이것저것 고려할게 많아 구현이 그리 쉽지만은 않았다. gnl 과제에 필요한 개념들 파일 디스크립터 read 함수 메모리 영역 정적 변수 메모리 누수 입출력 리다이렉션 File descriptor? 간략하게 짚고 넘어간 적이 있다 참고한 블로그 링크 엄청나게 정리가 잘 되어있는 블로그 File descriptor란 리눅스 / 유닉스 계열 시스템에서 사용되는 개념이다. 시스템의 프로세스(process)가 파일(file)을 다룰 때.. 2023. 2. 16.
Makefile Makefile? Makefile의 개념과 기초 문법 참고 Makefile이란 정말 쉽게 이해하자면 컴파일 과정을 간단하고 빠르게 할 수 있도록 도와주는 도구라고 보면 되는 것 같다. 한번 Makefile을 제대로 만들어두면 일일히 컴파일에 필요한 명령어들을 입력할 필요 없이 Makefile에서 정의된 간단한 명령어만으로 모든 과정을 한번에 처리할 수 있다. Makefile 구현 NAME = libft.a CC = gcc CFLAGS = -Wall -Wextra -Werror AR = ar HEADER = ./ SRCS = ./ft_isalnum.c ./ft_isalpha.c ./ft_isascii.c\ ./ft_isdigit.c ./ft_isprint.c ./ft_strlen.c ./ft_memset... 2023. 2. 16.
ft_lstmap lstmap? typedef struct s_list { void*content; struct s_list*next; }t_list; //원 함수 없음 t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)); 구현해야할 함수 기능 : Iterates the list ’lst’ and applies the function ’f’ to the content of each element. Creates a new list resulting of the successive applications of the function ’f’. The ’del’ function is used to delete the content of an eleme.. 2023. 2. 16.