/libft

Primeiro projeto da fase 1 na 42.

Primary LanguageC

libft 📚

libft_img

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.

Índice

  1. Como navegar por esse repositório
  2. Funções implementadas
  3. Como usar minha libft

Como navegar por esse repositório

  • src: códigos fonte das funções implementadas no projeto;
  • include: arquivo de header da libft;
  • obj: arquivos objetos pós compilação;
  • Makefile: makefile para compiçar o projeto;
  • 📕 wiki: Documetação detalhada do projeto.

Funções implementadas

Funções da ctype.h

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ções da string.h

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ções da stdlib.h

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

Standard functions

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

Como usar a minha libft

  1. Cone esse repositório
git clone https://github.com/lamorim42/libft.git
  1. Compile a libft com make

  2. Compile seu projeto com as flags

-I libft/include -L ./libft -lft

Uso

#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

  1. Leva em consideração sobreposição de memória.