Hakkında • Nasıl Kullanılır • Zorunlu • Bonus • Norminette • Katkıda Bulunma • Lisans
42'deki ilk proje olan libft, C programlamadaki standart fonksiyonların nasıl çalıştığını anlamak amacıyla bu fonksiyonları sıfırdan yazarak kişisel bir kütüphane oluşturmayı içerir. Bu proje çok önemlidir çünkü bu kütüphane, 42'deki ilerideki ödevlerde kullanılacaktır.
Eğer bir 42 öğrencisiyseniz, kodlarınızı kendiniz yazmanız ve test etmeniz şiddetle tavsiye edilir. Sadece kısmen anladığınız kodları kopyalamak yerine, sürece dahil olmak çok daha faydalı olacaktır. Piscine’i tamamladıysanız, bu projeyi kendi başınıza halledebilmeniz için bir neden yok! Sabırlı ve dikkatli olun.
- Konu
PDF
git clone git@github.com:jotavare/libft.git
cd libft/libft
make
#include "libft.h"
make
- Libft zorunlu dosyalarını derler.
make bonus
- Libft bonus dosyalarını derler.
make all
- Zorunlu + bonus dosyalarını derler.
make clean
- Tüm .o (nesne dosyaları) dosyalarını siler.
make fclean
- Tüm .o (nesne dosyaları) ve .a (çalıştırılabilir) dosyalarını siler.
make re
- fclean
+ all
kurallarını kullanır.
Libft'teki zorunlu fonksiyonlar, hem standart C kütüphanesindeki fonksiyonları hem de karakter, string ve bellek manipülasyonu için yararlı diğer fonksiyonları içerir. Bu 34 zorunlu fonksiyon, 100 tam puan almak için gereklidir.
Fonksiyon | Açıklama |
---|---|
ft_isalpha |
Alfabetik karakter testi. |
ft_isdigit |
Ondalık basamak karakter testi. |
ft_isalnum |
Alfanümerik karakter testi. |
ft_isascii |
ASCII karakter testi. |
ft_toupper |
Küçük harfi büyük harfe dönüştürme. |
ft_tolower |
Büyük harfi küçük harfe dönüştürme. |
Fonksiyon | Açıklama |
---|---|
ft_strlen |
String'in uzunluğunu bulun. |
ft_strlcpy |
Boyut sınırlı string kopyalama. |
ft_strlcat |
Boyut sınırlı string birleştirme. |
ft_strchr |
String'de karakteri bulun (ilk bulma). |
ft_strrchr |
String'de karakteri bulun (son bulma). |
ft_strncmp |
String'leri karşılaştırın (boyut sınırlı). |
ft_strnstr |
String'de alt string'i bulun (boyut sınırlı). |
ft_substr |
String'den alt string çıkarın. |
ft_strjoin |
İki string'i birleştirip yeni bir string oluşturun (malloc ile). |
ft_strtrim |
Belirtilen karakterlerle string'in başını ve sonunu kırpın. |
ft_split |
Belirtilen karakteri ayırıcı olarak kullanarak string'i bir diziye ayırın. |
ft_strmapi |
Belirtilen bir fonksiyonla string'i değiştirerek yeni bir string oluşturun. |
ft_striteri |
String üzerinde gezinip, karakter ve indeks manipülasyonu yapın. |
Fonksiyon | Açıklama |
---|---|
ft_calloc |
Bellek tahsisi yapın. |
ft_memset |
Bir byte'ı byte dizisine yazın. |
ft_bzero |
Byte dizisine sıfır yazın. |
ft_memcpy |
Bellek alanını kopyalayın. |
ft_memmove |
Byte dizisini kopyalayın. |
ft_memchr |
Byte dizisinde byte'ı bulun. |
ft_memcmp |
Byte dizisini karşılaştırın. |
ft_strdup |
Bir string'in kopyasını saklayın (malloc ile). |
Fonksiyon | Açıklama |
---|---|
ft_atoi |
ASCII string'i tam sayıya dönüştürün. |
ft_itoa |
Tam sayıyı ASCII string'e dönüştürün. |
Fonksiyon | Açıklama |
---|---|
ft_putchar_fd |
Verilen dosyaya bir karakter çıktılayın. |
ft_putstr_fd |
Verilen dosyaya string çıktılayın. |
ft_putendl_fd |
Verilen dosyaya string'i yeni satırla çıktılayın. |
ft_putnbr_fd |
Verilen dosyaya tam sayı çıktılayın. |
Libft'teki bonus fonksiyonlar, liste manipülasyonuna odaklanır ve son notunuza 25 puan daha ekler. 125 tam puan almak için 9 bonus fonksiyonun ve 34 zorunlu fonksiyonun tamamı doğru şekilde tamamlanmalıdır.
Fonksiyon | Açıklama |
---|---|
ft_lstnew |
Yeni bir liste oluşturun. |
ft_lstadd_front |
Listenin başına yeni bir eleman ekleyin. |
ft_lstadd_back |
Listenin sonuna yeni bir eleman ekleyin. |
ft_lstsize |
Listedeki elemanları sayın. |
ft_lstlast |
Listenin son elemanını bulun. |
ft_lstdelone |
Listeden bir eleman silin. |
ft_lstclear |
Listeden belirtilen bir başlangıç noktasından itibaren elemanları silin. |
ft_lstiter |
Listenin tüm elemanlarının içeriğine bir fonksiyon uygulayın. |
ft_lstmap |
Listenin tüm elemanlarının içeriğine bir fonksiyon uygulayarak yeni bir liste oluşturun. |
42 Okulu'nda, hemen hemen her projenin Norm'a göre yazılması beklenir. Bu, okulun belirlediği kodlama standartıdır.
- 42 Normları - 42'nin kodlama normları hakkında bilgi.
PDF
- Norminette - 42 tarafından geliştirilen, kodlama normlarına uymak için kullanılan araç.
GitHub
- 42 Başlık - Vim için 42 başlığı.
GitHub
Herhangi bir sorun bulursanız veya iyileştirme önerileriniz varsa, depoyu forkladıktan sonra bir sorun açabilir veya bir pull request gönderebilirsiniz.
Bu proje MIT Lisansı altında sunulmaktadır. Daha fazla bilgi için LICENSE dosyasına başvurun.