Development repo for 42cursus' get_next_line project
For further information about 42cursus and its projects, please refer to 42cursus repo.
The aim of this project is to make you code a function that returns a line ending with a newline, read from a file descriptor.
🚀 TLDR: this project consists of coding a function that returns one line at a time from a text file.
@root
- 📁 get_next_line: source code developed for the project.
@/get_next_line/
Note: Files suffixed with _bonus are exact copies of corresponding files.
Functions in get_next_line.c
get_reminder
- gets the reminder after the newline.check_newline
- returns the index of the newline if found else returns -1.ft_strlen
- find length of string.get_next_line
- main function.
Functions in get_next_line_utils.c
ft_strdup
- save a copy of a string (with malloc).ft_calloc
- allocates X size of memory and set it to 0.ft_strjoin
- Joins 2 strings togather.
The function is written in C language and thus needs the gcc
compiler and some standard C libraries to run.
1. Using it in your code
To use the function in your code, simply include its header:
#include "get_next_line.h"
and, when compiling your code, add the source files and the required flag:
get_next_line.c get_next_line_utils.c -D BUFFER_SIZE=<size>
If you're on Linux, you may as well need the following flags:
-D ARG_MAX="sysconf(_SC_ARG_MAX)" -D OPEN_MAX=1024
- gnlTester
- mrjvs/42cursus_gnl_tests
- Hellio404/Get_Next_Line_Tester
- saarikoski-jules/gnl_unit_tests
- charMstr/GNL_lover
- Mazoise/42TESTERS-GNL
- static keyword
- Making a global variable/function static: only visible within its own translation unit.
- static (local variable): presistent across function calls and only visible within its function.
note: you cant use the same name for static variable and global static variable! but never do it.