Skip to content

alpisaoglu/libft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

42-LibFt-

image image

📚 Kendi yazdığınız ilk kütüphane

❗ MANDATORY PART

S.No Function Description
1. isAlnum Dizede alfabe ve rakam olup olmadığını kontrol eder; true ise 1 döndürür
2. isAlpha Dizeyi okuyun: Eğer alfabe varsa- 1 değerini döndürmelidir
3. isAscii c bir ASCII karakteri ise 1 döndürür; aksi takdirde sıfır
4. isDigit isdigit() işlevi tamsayı biçiminde tek bir bağımsız değişken alır ve int türünde bir değer döndürür
5. isPrint Karakter yazdırılabilir ise 1 döndürür
6. Bzero Her şeyi sıfıra ayarlar
7. Calloc Bellek ayırır ve ayrılan belleği sıfıra ayarlar
8. Memcmp Dizeleri kontrol eder ve farkı döndürür, ayrıca boş alan olup olmadığını da kontrol eder
9. Memcpy kaynaktaki tüm verileri hedefe kopyalar
10. Memset Bellek bloğunu veya dizeyi belirli bir değere kadar doldurur
11. Memmove Her şeyi kaynaktan hedefe taşır, memcpy'nin yapamadığı çakışmaları halleder
12. Memchr Dize içinde bir karakter arar ve karakterin o konumundan karakter döndürür
13. Strchr Dize içinde belirli bir karakteri arar ve dizeyi bu karakter konumundan döndürür
14. Strrchr Belirli bir karakteri arar ancak bu karakter dizesi içindeki son karakterdir ve bu karakteri/dizeyi döndürür
15. Strlen Dize uzunluğunu döndürür
16. Strncmp En fazla n karakteri karşılaştırır. Eğer n değeri içinde bir fark bulunursa, farkı döndürür
17. Strrstr Dize içinde en son oluştuğu karakteri döndürür
18. Strnstr Bir kaynak dizenin içinde bir dize arar ve kaynak dizenin içinde bulunursa dizeyi döndürür
19. Split Dizeleri farklı konumlara böler
20. Strdup dizeyi kaynaktan hedefe duplisubstr
21. Strjoin Kaynak ve hedef dizeyi başka bir dizede birleştirir (malloc)
22. Strlcat Hem kaynak hem de hedef dize birleşimini döndürür, ancak kısıtlamalar vardır
23. Strlcpy Temel olarak kaynak dizeyi hedef dizeye kopyalar, ancak "ne kadar kopyalanacağı" konusunda bir sınırlama vardır
24. Strtrim Kullanıcı tarafından belirtilen dizeyi başlangıç ve bitişten kaldırır
25. Substr Kullanıcı tarafından parametreleri verilen dizeyi çıkarır. "Eve gidiyoruz" dizesinin başlangıç pozisyonunun nerede olduğunu belirtiriz ve ayrıca dizenin o kadarını döndürmek için n değeri atarız. Diyelim ki başlangıç = 3 ve n = 7, fonksiyon başka bir dizeye depolanmak üzere "are g" döndürür (malloc)
26. Atoi Dizeyi tamsayı değerine dönüştürür
27. Itoa Tamsayıları dize değişmezine dönüştürür
28. ToUpper Karakteri büyük harfe dönüştürür
29. ToLower Karakteri küçük harfe dönüştürür
30. Strmapi (f) fonksiyonunu kullanarak karakteri değiştirin
31. Striteri (f) işlevi aracılığıyla karakter değiştirme
32. Putchar_fd c karakterini verilen dosya tanımlayıcısına çıktı olarak verir
33. Putstr_fd Dizeyi verilen dosya tanımlayıcısına çıktı olarak verir
34. Putendl_fd Dosya tanımlayıcısına bir dize çıktısı verir ancak satırsonu ile biter
35. Putnbr_fd Verilen dosya tanımlayıcısına n tamsayısını çıktı olarak verir

✔️ BONUS PART

S.No Function Description
36. Lstnew Yeni bir düğüm tahsis eder ve next değişkeni Null olarak başlatılır
37. Lstadd_front Listenin başına yeni düğümü ekler
38. Lstsize Bir listedeki düğüm sayısını sayar
39. lstlast Listenin son düğümünü döndürür
40. lstadd_back Listenin sonuna yeni düğümü ekler
41. lstdelone delete kullanarak düğüm içeriğini serbest bırakın ve sonraki serbest bırakılmamalıdır
42. lstclear del ve free
43. lstiter Listeyi yineler ve f işlevini her düğümün içeriğine uygular.
44. lstmap Yeni bir liste oluşturur ve f fonksiyonunu her düğümün içeriğine uygular. del fonksiyonu, gerektiğinde bir düğümün içeriğini silmek için kullanılır.

✏️ THINGS TO READ ABOUT

📄 MAKEFILE

Writing Rules in MakeFiles

ibft.a’yı “NAME”e tanımladım aşağıda’da $(NAME)’i “all”a atadım all dediğim için hepsini kapsar.

Ve sistem “NAME” ile başlar.

⚡ $(wildcard *c)’yi SRCS(sources)’e atadım. Yani “wildcard” fonksiyonuyla bütün .c dosyalarını “SRCS” değişkenine atadık.

“*c” Sol tarafta ne olursa olsun bütün .c uzantılı dosyaları alır. ⚡ “WILDCARD” = O dizindeki bütün dosyaları listelemek için kullanılır.

⚡ “$” işaretinin iki farklı anlamı vardır birisi parantezin içinde hangi değişken adını yazdığımızda değişkenin değerini çağırırız. Diğer kullanımı da fonksiyon çağırmadır.

⚡ OBJS = “SRCS”da bulunan bütün c uzantılı dosyaları .o uzantılı dosya adlarına değiştirdik ve bunları “OBJS”e atadık.

⚡ Derleme shell komutunu “CC” olarak tanımladım shell komutunu değişkene atadık.

⚡ Shell komutunu tekrardan “”CCFLAGS” olarak tanımladık.

⚡ “PHONY” = Öncelikli çalıştırma işlemini yapar.Dizinde aramak yerine direkt kodu çalıştırır.Yani dosyamızın içinde eğer yazdığımız.(all, clean, fclean, re, bonus)’dan birisi varsa çalışmayacaktır.Öncelikli olarak tanımladığımız için “Mak-eFile” içinde bulup çalışacaktır.

$(NAME): $(OBJS) “OBJS” Dosyalarını “NAME”e kural olarak belirle.

ar rcs (OBJS) = Yukarıda yazdığım kuralı da burada kullandım.Yani “NAME” olarak “LIBFT.A”ya çıktı verir.

⚡ %.o:%.c “%” Hepsini kapsıyor Shell komutu olduğu için “%” işareti kullanırız.

Alttaki de $(CC) -c “ˆ” tek tek gez komutudur.Yani tek tek gezerek derliyor.

⚡ “:” tanımlama işaretidir.

⚡Clean’e rm-f ile (OBJS) ve (BONUS_OBJS) bu nesneleri silme komutunu tanımladım.

Sonrasında “clean”i de “fclean”e tanımladım “$(NAME)”de kini de sil dedim.Yani Libft.a’yı.

⚡“re”de rebuildden geliyor = yani silip “$(NAME)”i yeniden oluşturuyor.

⚡Subjects’de dediği gibi “OBJS” ve “BONUS_OBJS”i “bonus”a kural olarak belirliyoruz.

Sonrasında da çıktı olarak bize hepsini veriyor.”$(NAME)”e göre bize (BONUS_OBJS)

⚡“ar rcs” Bir kitaplığı derlemek için “Makefile” kullanırken kullanacağınız en olası komuttur. r, kitaplık zaten mevcutsa, kitaplık içindeki eski dosyaları yeni dosyalarınızla değiştirin.c, mevcut değilse kütüphaneyi oluşturmak anlamına gelir.

⚡Clean sadece oluşan “.o” uzantılı dosyaları siler.Fclean yaptığımda “NAME”i de silecektir.Yani libft.a’yı.

File Descriptor

Dosya Tanımlayıcısı, dosyalara veya diğer input/output kaynaklarına erişmek için kullanılan bir tamsayıdır(Birnevi kimlik). Fd'nin bazı default atamaları vardır. 0 = Standart Giriş - Klavyeden okuma 1 = Standart Çıkış - Ekrana yazdırma 2 = Standart Hata - Hata mesajı yazdırma

About

string, memory C 42 Ecole Kocaeli

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published