피신도 했고, libft도 성공적 완료! 이제 split도 거뜬하군 ! 나도 나름 머찐 개발자가 될 상이군 했는데…

gnl 을 마주쳤을땐 새로운 장벽에 부딪힌 느낌이였습니다.

오늘 제가 쓸 글은 과제를 풀기 위한 공략집이라기 보단 아무것도 모르던 뉴비가 저 장벽을 넘기 위해 어떻게 접근 했었는지, 그래서 어떻게 풀었는지를 이야기 해보는 글 입니다. 아직도 모르는게 많기 때문에 너그럽게 읽어주시면 감사하겠습니다.

get_next_line…?

여러분도 잘 아시다시피 get_next_line은 열려있는 파일 등으로 부터 한줄(\n이나 EOF까지의 문자열)을 읽어오는 함수 입니다.

그런데 처음에 과제를 열었을 시점에는 이게 와닿지가 않았었어요. 왜냐하면 파일의 입출력에 대해서는 다뤄보지를 않았었고 더 중요한건 이 함수를 도대체 어떻게 써먹을지 모르겠었거든요(아 printf mandatory로 튈까 하는 생각을 제일 먼저 했었어요.)

아 대충 내가 구현 해야하는게 뭔지 파악 해보자.

처음에 과제를 열었을땐 눈 감고 귀 닫고 있었던 것과 비슷한 상태였어요. 아무리 주변에서 어떻게 구현해야할지 힌트를 주고 알려주려고 해도 감이 하나도 안왔어요.

일단 뭘 만들어야하는지, 어떻게 써야하는지 모르겠으니 이걸 한번 해결 하면 낫지 않을까 하는 생각이 들었어요.

비슷한 함수가 있지 않을까?

그래서 일단 제일 먼저 한 일은 gnl 과 비슷한 기능을 하는 함수들을 찾아보는 것이였어요.

python 의 readlines 랑 같은건가? c에는 fgets 같은 애들이 있구먼? (https://www.tutorialkart.com/c-programming/c-read-text-file/) 하면서 과제 자체에 대한 두려움을 떨쳐 냈어요!

허용 함수는 왜 있지? 어떻게 쓰는거지?

위에서 비슷한 함수를 찾아보면서 허용함수를 살펴 보았는데 read가 있었고, 왜 read가 있는데 gnl을 또 만들어야하지 라는 생각을 아주 잠깐 해봤어요. 아 이친구는 내가 정한 만큼만 읽어오고 잘 읽었는지 확인만 할 수 있는 애구나. 하는 생각을 하면서 그러면 얘는 어떻게 써먹지 하며 예제를 만들어서 풀어보았습니다.