Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 굿노트 스티커
- pipex 42
- 42 pipex
- 지베르니 여름
- get next line
- 지베르니 계절 추천
- 42 libft
- 에꼴42
- 이지젯
- libft
- 와인선별방법
- 파리 피크닉
- 알고리즘 기초
- so_long
- 포르투갈 여행
- push swap
- 지베르니 가을
- 지베르니
- get_next_line
- push swap 설명
- str함수
- gnl
- 42
- ecole42
- ft_printf
- pipex
- 서울42
- 와인 고르기
- 42 so_long
- printf
Archives
- Today
- Total
뇌 마음 반반저장소
[42_GNL] 구조 파헤치기 본문
728x90
일단 겟넥라(?)의 흐름을 알고 가보자. 처음에 이 흐름이 안 들어와서 정말 힘들었다. 일단 메인과 GNL의 상관관계를 파악하고 넘어가자. GNL은 함수 안에서 계산하고 내보낼 수 없는 기능이다. (GNL 시작하기 참조)
ℹ️ Try to read as little as possible each time get_next_line() is called. If you encounter a new line, you have to return the current line. Don’t read the whole file and then process each line.
get_next_line()이 호출될 때마다 가능한 한 적게 읽도록 하십시오. 새 줄이 표시되면 현재 줄을 반환해야 합니다. 전체 파일을 읽지 말고 각 줄을 처리하세요.
만약 이러한 텍스트를 open한다고 가정해 보자.
아래의 관계를 보자.
나는 처음 gnl을 할때 이게 가장 헷갈리는 부분이었는데, 메인에서 루프를 돌려 get_next_line은 문장에서 \n을 만나면 그 전까지만 메인에 전달하는 역할을 한다. 그리고 gnl에서는 \n 뒤로 나머지 문자열이 저장되어 있다! 그렇다면 gnl에서는 어떤 일이 벌어지는지 살펴보자.
어떻게 버퍼에 저렇게 남아있을 수가 있지!! 라고 생각했었는데, 생각해보니 open과 close는 main에서 쓰고 정작 읽어 들이는 read 함수에서 사용하는 버퍼 바구니를 gnl에서 사용하기 때문에 같은 버퍼를 사용하고 있는 셈이다!
후 이래서 내가 처음부터 메인이랑 같이 만들면서 복습 중이다. 메인과의 상관관계를 알아야 함수를 작문할 수 있는 것 같다. 자 그러면 본격적으로 문장을 짜 볼까!
728x90
'42 > get_next_line' 카테고리의 다른 글
[42_GNL] 코딩하기 (0) | 2022.12.22 |
---|---|
[42_GNL] get_next_line 개념 이해하기 (open, read, 버퍼사이즈) (0) | 2022.12.19 |
[42_GNL] 시작하며 (0) | 2022.12.18 |
Comments