The 42 school's get_next_line project is where we learn to read from a file descriptor, as well as the use of static variables.
This project has been archived in the state it was in at the time of evaluation.
This function returns a single line from a given file descriptor. If called in a loop, get_next_line returns the entire contents of a file, line by line until it reaches the end of the file. It can be compiled specifying any buffer size.
🇺🇸 Read my articles in English about the concepts tackled in this project:
🇫🇷 Lire mes articles en français sur les concepts abordés dans ce projet :
Finished: 2022-01-21. Grade: 125/100.
This function is not a stand-alone program, its files must be included and compiled within another project.
Example main.c:
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include "get_next_line.h"
int	main(int argc, char **argv)
{
	int	fd;
	char	*line;
	(void)argc;
	fd = open(argv[1], O_RDONLY);
	line = "";
	while (line != NULL)
	{
		line = get_next_line(fd);
		printf("%s", line);
	}
	fd = close(fd);
	return (0);
}Compilation:
gcc main.c get_next_line.c get_next_line_utils.cBUFFER_SIZE can be specified at compilation to override the default BUFFER_SIZE:
gcc -D BUFFER_SIZE=42 main.c get_next_line.c get_next_line_utils.cExecution:
./a.out [file]Output should show the entire contents of the given file.
Execution with stdin:
./a.out /dev/ttyProgram will wait for input, then once the enter key is pressed, print out the input as well as get_next_line's output. The process can be killed with ctrl-c.
Made by mcombeau: mcombeau@student.42.fr | LinkedIn: mcombeau | Website: codequoi.com
