profile
늅늅

get_next_line

getnextline > 파일디스크립터를 받아와 해당 파일에서 개행으로 끝나는 한줄의 문장을 반환하는 함수 getnextline (int fd) > 1. 받아온 fd가 음수인지, BUFFER_SIZE가 0이하 인지 확인 >> BUFFER_SIZE가 0 또는 음수라면 read함수에서 제대로 문자열을 불러올 수 없기때문에 종료 fd가 음수인것은 정상적인 상황이 아니니 종료 fd가 OPEN_MAX보다 크면 안되므로 종료 > 2. 반복문을 사용해 read함수로 BUFFER_SIZE만큼 문자열을 받아오고 정적변수에 저장, 또한 해당 문자열에 개행이 포함되어있다면 반복문 종료 >> 문자열에서 특정 문자가 나온다면 해당 문자의 위치를 반환하는 ft_strchr 함수를 사용해 개행문자가 나온다면 반복문을 빠져나옴 read함수를 사용해 BUFFER_SIZE만큼 문자열을 읽고 readstr에 저장해줌, 그리고 읽어온 문자열의 길이를 readsi

2022년 4월 4일
·
0개의 댓글
·

open(), read(), write(), close()

open() > - open함수는 파일을 사용하기위해 열어주는 함수이다. 실행에 성공한다면 파일디스크립터 양의정수값을 반환하고 실패할 시 -1을 반환한다. fcntl.h에 정의되어있음 > - 권한 읽기 전용인 O_RDONLY 쓰기 전용으로 여는 O_WRONLY 읽기쓰기 전용으로 여는 O_RDWR read() > - read함수는 파일을 읽는 함수이다. fd는 open함수로 받아온 파일디스크립터이며 이를통해 파일을 구분하고 size크기만큼의 데이터를 읽은 후 \*buf 저장공간에 할당한다. 읽어오는것에 성공하면 읽어온 데이터의 크기를 반환하고 실패하면 -1을 반환한다 unistd.h에 정의되어있음 write() > - write함수는 파일에 데이터를 출력하는 함수이다. fd는 open함수로 받아온 파일디스크립터이며 이를 통해 파일을 구분하고, size크기만큼 buf에 저장된 데이터를 출력한다. 성공한다면 출력한 크기를 반환하고 실패시

2022년 3월 27일
·
0개의 댓글
·

size_t, ssize_t

read, write 등의 입출력함수는 sizet, ssizet의 형태로 값을 반환한다 size_t size_t는 크기를 나타내기위해 사용하며 32bit환경에서는 4byte, 62bit환경에서는 8byte이다. 크기를 리턴하는 sizeof 연산자가 size_t 타입을 반환한다. ssize_t ssize_t는 입출력 함수에서 성공여부를 확인하기위한 반환값으로 많이 사용되며 int 형태이다.

2022년 3월 23일
·
0개의 댓글
·