Primeiro projeto da trilha de fundamentos da Ecole 42 SP
. Nesse projeto temos que recodar funções famosas de algumas bibliotecas da linguagem C.
⚠️ Essa versão da libft já foi atualizada com funções necessárias em projetos futuros.
src
: códigos fonte das funções implementadas no projeto;include
: arquivo de header dalibft
;obj
: arquivos objetos pós compilação;Makefile
: makefile para compiçar o projeto;- 📕 wiki: Documetação detalhada do projeto.
Função | resumo | input | return |
---|---|---|---|
ft_isalpha | Verifica se um caractere é alfabetico | caractere a ser verificado | 1 se for alfabetico, 0 se não for |
ft_isdigit | Verifica se um caractere é numérico | caractere a ser verificado | 1 se for numérico, 0 se não for |
ft_isalnum | Verifica se um caractere é alfanumérico | caractere a ser verificado | 1 se for alfanumérico, 0 se não for |
ft_isascii | Verifica se um caractere é 7-bit US-ASCII | caractere a ser verificado | 1 se for ascii, 0 se não for |
ft_isprint | Verifica se um caractere é "printável" | caractere a ser verificado | 1 se for "printável", 0 se não for |
ft_toupper | Se o caractere é minúsculo retorna-o em maiúsculo e vice versa | caractere a ser convertido | caractere em maiúsculo ou minúsculo |
ft_tolower | Se o caractere é maiúsculo retorna-o em minúsculo | caractere a ser convertido | caractere em minúsculo |
💡 Lidando com caracteres
As funções da ctype.h são muito úteis para lidar com caracteres. Lembre-se, sempre que precisar tratar caracteres a libft tem ferramentas para auxiliar no processo.
📕 Veja mais detalhademente sobre essas funções na documentação
Função | resumo | input | return |
---|---|---|---|
ft_strlen | calcula o tamanho da string passada | string a ser medida | tamanho da string |
ft_strlcpy | copia n bits da string passada para o destino passado | memória destino, string fonte e o tamanho a ser copiado | tamanho da string copiada |
ft_strlcat | concatena as strings passadas | string destino, string a ser concatenada, tamanho do buffer | o tamanho da string que foi criada |
ft_strchr | procura um caractere em uma string | string para busca e o caractere alvo | um ponteiro para a primeira ocorrência do caractere alvo ou nulo |
ft_strrchr | procura um caractere em uma string | string para busca e o caractere alvo | um ponteiro para a última ocorrência do caractere alvo ou nulo |
ft_strncmp | compara os primeiros n bits de duas strings | string a serem comparadas e o tamanho a ser comparado | um inteiro > 0 ou < 0 se forem diferentes, ou 0 se forem iguais |
ft_strnstr | acha a primeira ocorrência de uma string menor em uma maior | string fonte, string a ser procurada, tamanho da procura | um ponteiro para string que procuramos |
ft_memset | preenche os primeiros n bytes da memória apontada por s com o caractere c | ponteiro para memória, caractere para preencher, quantidade de bytes para preencher | pronteiro para memória |
ft_memchr | scaneia os primeiros n bytes da memória a procura da primeira ocorrência do caractere c | memória a ser scaneada, caractere a ser procurado, tamanho da busca | ponteiro para a primeira ocorrencia de c ou nulo |
ft_bzero | Apaga os n primeiros bytes da memória | pronteiro para memória, aqunatidades de bytes a serem apagados | void |
ft_memcpy | copia n bytes de uma área de memória para outra | área a ser copiada, área cópia e quantidade de bytes a ser copiado | ponteiro para área cópia |
ft_memmove | copia n bytes de uma área de memória para outra1 | área a ser copiada, área cópia e quantidade de bytes a ser copiado | ponteiro para área cópia |
ft_memcmp | compara, n bytes, de duas áreas de memória | áreas a serem comparadas, quantidade de bytes a serem comparados | > 0 ou < 0 se forem diferentes ou 0 se forem iguais |
ft_strdup | duplica uma string | string a ser duplicada | ponteiro para nova string |
💡 Lidando com Strings
As funções da string.h são muito úteis para lidar com strings. Lembre-se, sempre que precisar tratar strings a libft tem ferramentas para auxiliar no processo.
📕 Veja mais detalhademente sobre essas funções na documentação
Função | resumo | input | return |
---|---|---|---|
ft_atoi | converte uma string em inteiro | string a ser convertida | ponteiro para o inteiro |
ft_itoa | converte um inteiro em string | inteiro a ser convertido | ponteiro para string |
ft_calloc | aloca espaço na memória e limpa esse espaço com 0 | quantidade a ser alocada e tamanho da alocação | ponteiro para o espaço alocado |
Função | resumo | input | return |
---|---|---|---|
ft_substr | TODO | ||
ft_strjoin | TODO | ||
ft_strtrim | TODO | ||
ft_split | TODO | ||
ft_strmapi | TODO | ||
ft_striteri | TODO | ||
ft_putchar_fd | TODO | ||
ft_putstr_fd | TODO | ||
ft_putendl_fd | TODO | ||
ft_putnbr_fd | TODO |
- Cone esse repositório
git clone https://github.com/lamorim42/libft.git
-
Compile a libft com
make
-
Compile seu projeto com as flags
-I libft/include -L ./libft -lft
#include "libft.h"
#include <stdio.h>
int main(void)
{
char a;
a = 'a';
if (ft_isalpha(a))
printf("%c's alpha char!\n", a);
else
printf("%c's not alpha char!\n", a);
return (0);
}
Footnotes
-
Leva em consideração sobreposição de memória. ↩