Skip to content

Implementación de la función get_next_line en C para leer líneas de un descriptor de archivo, útil para manipulación de archivos y entrada de datos en proyectos.

Notifications You must be signed in to change notification settings

gusgonza42/get_next_line

Repository files navigation

get_next_line

Build Status


💡 Acerca del Proyecto

El objetivo de este proyecto es implementar una función que devuelva una línea leída desde un descriptor de archivo.

Este proyecto te permitirá entender cómo se abren, leen y cierran archivos en un sistema operativo, y cómo son interpretados por C. Esta tarea es fundamental para cualquier programador, ya que gran parte del tiempo se basa en la manipulación de archivos para la gestión y persistencia de datos. Consiste en codificar una función que devuelve una línea a la vez desde un archivo de texto.

Para obtener información más detallada, consulta el Subject.

🛠️ Uso

Requisitos

La función está escrita en lenguaje C y por lo tanto requiere el compilador gcc y algunas bibliotecas estándar de C para funcionar.

Instrucciones

1. Uso en tu código

Para utilizar la función en tu código, simplemente incluye su encabezado:

#include "get_next_line.h"

y al compilar tu código, agrega los archivos fuente y los FLAGS necesarios:

gcc get_next_line.c get_next_line_utils.c -D BUFFER_SIZE=<tamaño>

📋 Pruebas

Solo necesitas editar el archivo get_next_line.c y descomentar la función main y los encabezados dentro de él. Puedes editar los archivos test.txt para colocar otro texto si deseas probar otros casos. Luego, simplemente ejecuta este comando (cambia "xx" con el tamaño del buffer deseado):

gcc -Wall -Werror -Wextra -D BUFFER_SIZE=xx get_next_line.c get_next_line_utils.c && ./a.out

Ejemplo de main para pruebas

Aquí hay un ejemplo de cómo podría verse tu main en el archivo get_next_line.c para realizar pruebas:

#include "get_next_line.h"
#include <fcntl.h>
#include <stdio.h>

int main(void)
{
    int fd;
    char *line;

    fd = open("test.txt", O_RDONLY);
    if (fd == -1)
        return (1);
    while ((line = get_next_line(fd)) != NULL)
    {
        printf("%s", line);
        free(line);
    }
    close(fd);
    return (0);
}

Notas Finales

  • Asegúrate de manejar correctamente la memoria para evitar fugas.
  • Considera todos los posibles casos borde (archivo vacío, línea muy larga, etc.).
  • Realiza pruebas exhaustivas para asegurarte de que la función se comporta como se espera en todas las situaciones posibles.

About

Implementación de la función get_next_line en C para leer líneas de un descriptor de archivo, útil para manipulación de archivos y entrada de datos en proyectos.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published