Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adaog0n/42-get_next_line


https://github.com/adaog0n/42-get_next_line

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

#

![](https://github.com/AdaoG0n/AdaoG0n/blob/main/assests/animated%20gifs/getnextline.gif)

#

**get_next_line** é uma função em C que lê uma linha de um arquivo ou entrada padrão.

Este projeto faz parte do currículo da escola 42 e tem como objetivo aprimorar habilidades de programação e manipulação de arquivos.

### Funcionalidades


Lê uma linha de texto de um descritor de arquivo

Suporta múltiplos descritores de arquivo

Gerencia eficientemente a memória

Lida com diferentes tamanhos de buffer

### Implementação

###### Função principal:

```sh
char *get_next_line(int fd);
```

###### Objetivo:

- [ ] Ler uma linha de um descritor de arquivo (fd)
- [ ] Retornar a linha lida, incluindo '\n'
- [ ] Retornar NULL se não houver mais para ler ou ocorrer erro

###### Arquivos necessários:

- [ ] get_next_line.c
- [ ] get_next_line_utils.c
- [ ] get_next_line.h

###### Regras importantes:

- [ ] Usar apenas uma variável estática
- [ ] Compilar com flag -D BUFFER_SIZE=n
- [ ] Funcionar com diferentes tamanhos de buffer
- [ ] Ler o mínimo possível a cada chamada

###### Dicas:

- [ ] Entender variáveis estáticas
- [ ] Gerenciar memória corretamente (malloc/free)
- [ ] Lidar com leitura de arquivo e entrada padrão
- [ ] Testar com diferentes BUFFER_SIZE

###### Funções permitidas:

`read`
`malloc`
`free`

>[!TIP]
>Lembra-te: código limpo, sem erros de memória, seguindo a Norma da 42.


Este projeto demonstra habilidades em manipulação de arquivos, gerenciamento de memória e programação em C

⚠️ Resultado dos testes ⚠️

![](https://github.com/AdaoG0n/42-get_next_line/blob/main/getnextline.png)

![](https://github.com/AdaoG0n/AdaoG0n/blob/main/assests/animated%20gifs/madeby.gif)