GithubHelp home page GithubHelp logo

42_gnl's Introduction

42_GNL

Proyecto para leer un file descriptor línea a línea

¿Qué nos piden?

  • Una función que lea una línea de un fd, de forma que llamarla de manera repetida (por ejemplo, usando un bucle) permita leer el contenido del archivo hacia el que apunta el fd, línea a línea hasta el final.
  • Si no hay nada más que leer o si ha ocurrido un error, que devuelta NULL.
  • Asegurarnos de que se comporta adecuadamente cuando lea de un archivo y cuando lea de stdin.

Archivos

  • test1, test2, test3, test4, test_ok: distintos test realizados ANTES de ponerme con el proyecto en sí, para comprender la lógica de abrir, leer e imprimir archivos.
  • el_x_venir.txt: texto de ejemplo
  • get_next_line.c: función principal del programa, dentro tenemos tres funciones:
    • read_document -> para leer el contenido del fd
    • prepare_line -> para preparar las líneas (teniendo en cuenta cuándo tenemos salto de línea)
    • get_next_line -> función principal
  • get_next_line.h: librería en la que añadimos el macro de BUFFER_SIZE y las funciones
  • get_next_line_utils.c: archivo que contiene funciones que necesitamos de la libc, en mi caso he necesitado:
    • ft_strlen -> para medir la longitud de un string
    • ft_strjoin -> para cocatenar dos strings
    • ft_strchr -> para buscar el salto de línea en un string
    • ft_memcpy -> para copiar un bloque de memoria de un origen a un destino n bytes
  • get_next_line_bonus.c: función principal del programa, solo que añadidos los elementos para el bonus
  • get_next_line_bonus.h: librería en la que añadimos el macro de BUFFER_SIZE, el macro FD_OPEN y las funciones
  • get_next_line_utils_bonus.c: archivo que contiene funciones que necesitamos de la libc, igual que sin el bonus

42_gnl's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.