Skip to content

Project 42 | Implement the getline function from the C standard library. | Level 1 - Common Core

License

Notifications You must be signed in to change notification settings

HaruSnak/Get_Next_Line

Repository files navigation

gnl

Get_Next_Line

The get_next_line project is an essential step in the 42 curriculum, requiring students to reimplement the getline function from the C standard library. This function reads a line of text from a file character by character, handling end-of-file (EOF) and newline (\n) characters.

Contributors Forks Stargazers Issues LinkedIn

📒 Index

About

get_next_line offers the following functionalities:

Read a line of text from an open file: The function reads a file line by line, storing each line in a character string.
Handle end-of-file (EOF) and newline (NL) characters: The function detects the end of the file and stops accordingly. It also identifies newline characters and includes them in the read line.
Dynamically allocate memory to store the read line: The function uses malloc to allocate the necessary memory for the character string that will hold the read line.
Return the read line or a value indicating an error: If the reading is successful, the function returns the read line and updates the file pointer to point to the next line. If an error occurs, the function returns a negative value or NULL.

Skills Acquired

By completing the get_next_line project, students develop the following skills:

File and pointer manipulation: They learn to open, read, and close files, as well as manipulate file pointers and character pointers.
Dynamic memory management (malloc, free): They practice dynamic memory allocation and deallocation to store the read lines.
Reading and processing individual characters: They learn to read and process individual characters from a file, considering special characters like NL and EOF.
Error handling and edge cases: They develop techniques for handling read errors, edge cases, and error conditions.

Installation

# Clone this repository
$ git clone https://github.com/HaruSnak/Get_Next_Line.git

# Go into the repository
$ cd Get_Next_Line

# To compile the program
$ make

# Allows you to do a complete cleaning of your construction environment
$ make fclean # Or make clean

Development

File Structure

.
└── 📁get_next_line
    └── get_next_line.c
    └── get_next_line.h
    └── get_next_line_bonus.c
    └── get_next_line_bonus.h
    └── get_next_line_utils.c
    └── get_next_line_utils_bonus.c

Notes

Sponsored by Evil Martians

Credits

Below you will find the links used for this project:

About

Project 42 | Implement the getline function from the C standard library. | Level 1 - Common Core

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages