Get_Next_Line, C programlama dilinde dosya işlemleri için geliştirilmiş bir proje olup, bir dosya tanıtıcısından satırları okuyan ve her çağrıldığında bir sonraki satırı döndüren bir işlevi içerir. Bu projenin temel amacı, dosyalardan satır okuma işlemini hızlı, etkili ve hatasız bir şekilde gerçekleştirmek ve programcılara kullanımı kolay bir araç sağlamaktır. Get_Next_Line, bellek sızıntısı olmadan çalışır ve minimum kaynak kullanımıyla dosyalardan okuma yapabilir. Bu sayede, dosya işleme işlevselliğini genişletmek isteyen geliştiricilere büyük bir kolaylık sağlar. Projeyi kullanmak için sadece ilgili dosya tanıtıcısını belirtmek ve get_next_line
işlevini çağırmak yeterlidir.
-
Projeyi klonlayın:
git clone https://github.com/BoraOmerBoluk/42_Get_Next_Line.git
-
get_next_line işlevini kullanmak istediğiniz C programınıza ekleyin:
#include "get_next_line.h"
-
get_next_line işlevini çağırarak dosyadaki satırları çalıştırın:
int main(void) { int fd; char *line; fd = open("dosya.txt", O_RDONLY); while ((line = get_next_line(fd)) != NULL) { // Okunan satırı kullanın printf("%s\n", line); free(line); } close(fd); return (0); }
Not: Daha fazla çalıştırma örneği klasör içindedir.
- Dosyalardan satır okumak için kullanışlı bir işlev sağlar.
- Çok dosyalı okumayı destekler. Birden çok dosyadan okuma yapabilirsiniz.
- Bellek sızıntısı olmadan ve minimum kaynak kullanımıyla çalışır.
- Tampon boyutunu ayarlamak için derleme sırasında tanımlanabilir ('BUFFER_SIZE').
- Fonksiyon İmzası
char *get_next_line(int fd);
- fd: Okunacak dosyanın dosya tanıtıcısı.
- İşlem başarılıysa, dosyadan okunan bir satırın heap üzerindeki adresini döndürür.
- Dosya sonuna ulaşıldığında NULL döndürür.
- Bir hata oluşursa veya dosya okunamazsa -1 döndürür.
- Get_next_line işlevi çağırıldığında, belirtilen dosyadan bir tampon boyutu (varsayılan olarak 32 KB) kadar veri okur.
- Okunan veri içindeki satırları (satır sonu karakteri '\n' ile ayrılan) ayırır.
- Eğer tamponun sonuna gelinmediyse, okuma işlemine devam eder.
- Her çağrıda bir sonraki satırı döndürür.
- İşlem tamamlandığında dosya kapandığında veya bir hata oluştuğunda NULL veya -1 döndürür.
Bu proje, 42 School tarafından verilen görevlerden biridir. Proje ile ilgili daha fazla bilgi ve detaylı açıklamalar için klasör içindeki en.subject.pdf dosyasını inceleyebilirsiniz.