El objetivo de este proyecto es simple: programar una función que de vuelva una línea leída de un file descriptor.
get_next_line es un projecto de 42 donde creamos una función capaz de leer, linea por linea, un archivo cada vez que se llame a la funcion.
El prototipo de la función debe ser la siguiente:
char *get_next_line(int fd)
En nuestro get_next_line tenemos solo las siguentes funciones de librerias externas autorizadas:
Función | Descripción |
---|---|
malloc | Solicitar un bloque de memoria del tamaño suministrado como parámetro. |
free | Desasigna un bloque de memoria que se había asignado previamente mediante una llamada. |
read | Lee el contenido del archivo del sistema seleccionado. |
como he comentado a esta función le envias el file descriptor para leer linea por linea, por ejemplo, si tenemos un archivo
llamado textoprueba.txt
y tengo el siguiente contenido:
linea1
linea2
linea3
Cada vez que llamemos a la función (utilizando el FileDescriptor de textoprueba.txt
)imprimirá una linea:
printf(%s,get_next_line(int fd);
printf(%s,get_next_line(int fd);
printf(%s,get_next_line(int fd);
printf(%s,get_next_line(int fd);
Output:
linea1 //lee la primera linea
linea2 //lee la segunda linea
linea3 //lee la tercera linea
(null) //devuelve NULL por que ha llegado al final del archivo (EOF)
Para utilizarlo primero debes saber la ruta de la funcion y utilizar el archivo .h de esta función. Luego añadirlo en el encabezado de tu programa:
#include "./<carpeta_de_get_next_line>/get_next_line.h"
y eso ya estaría listo para usar!
◦ Email: gmacias-@student.42barcelona.com