Skip to content

C언어를 활용해 사용자의 입력값(파일)을 입력받는다. 파일을 한 줄씩 읽어주는 프로그램.

Notifications You must be signed in to change notification settings

42-seoul-projects-kyungsle/get-next-line

Repository files navigation

Get Next Line

Reading a line on a fd is way too tedious.

1. 소개

int get_next_line(int fd);

Turn in files

get_next_line.c, get_next_line_utils.c, get_next_line.h

Parameters

#1. file descriptor for reading

Return value

the string I read

External functs.

read, malloc, free

Description

Write a function which returns a line read from a file descriptor, without the newline.

2. 목표

  • GNL 함수를 loop 안에서 호출하면 fd의 텍스트를 EOF가 올 때 까지 한 번에 한 줄씩 읽을 수 있다.
  • GNL 함수를 처음 호출 했을 때 파일을 끝까지 읽었다 하더라도, 두 번째 호출했을 때는 두 번째 line부터 시작해야한다.
  • file로부터, redirection으로부터, stdin으로부터 읽었을 때 함수가 제대로 동작해야 한다.
  • 이 프로그램은 -D BUFFER_SIZE=xx 플래그를 붙여서 컴파일 해야 한다. 즉, read 함수는 표준입력으로 또는 파일로부터 읽어들이기 위해서 컴파일할 때 정의된 BUFFER_SIZE를 사용해야 한다.
  • BUFFER_SIZE가 1일 때도, 9999일 때도, 10000000 (1000만)일 때도 함수가 제대로 동작해야 한다.
  • Single Static Variable로 get_next_line 성공하기.
  • 다중 file descriptor를 관리 할 수 있는 함수로 만들기. 예를 들어 file descriptor 3, 4, 5를 읽을 수 있는 경우, get_next_line은 3에서 한 번, 4에서 한 번, 다시 3에 서 한 번, 5에서 한 번 호출할 수 있어야 한다. 각 descriptor의 reading thread를 잃지 않으면서 말이다.

About

C언어를 활용해 사용자의 입력값(파일)을 입력받는다. 파일을 한 줄씩 읽어주는 프로그램.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages