Bu işlev akım’daki bir tam satırı okur, metni satırsonu karakteri ve bir sonlandırıcı boş karakterle bir tampona yazar ve bu tamponun adresini *satır-gstr içinde saklar.
getline çağrısından önce,
*n bayt uzunluğundaki
malloc ile ayrılmış bir tamponun adresi
*satır-gstr içine yerleştirilmelidir. Bu tampon yeterli uzunluktaysa,
getline okuduğu satırı bu tampona yazar. Aksi takdirde
getline işlevi
realloc kullanarak tamponu büyütür ve yeni tampon adresini
*satır-gstr argümanı ile ve arttırdığı uzunluğu
*n argümanı ile geri döndürür. Bkz.
Özgür Bellek Ayırma.
*satır-gstr olarak bir boş gösterici ve *n için 0 değerini vererek çağrı yaparsanız, getline işlevi malloc işlevini kullanarak tamponu sizin için ayırır.
Her iki durumda, getline döndüğünde, *satır-gstr satırın metnini gösteren bir char *’dır.
getline başarılı olduğunda okunan karakterlerin sayısı (satırsonu karakteri ve bir boş karakter dahil) ile döner. Bu değer satırın parçası olan boş karakterleri sonlandırıcı olarak eklenen boş karakterden ayırabilmenizi sağlar.
Bu işlev bir GNU oluşumudur ve bir akımdan satırları okumak için önerilen bir yoldur. Aynı amaçlı diğer standart işlevler güvenilir değildir.
Bir hata oluşursa ya da herhangi bir bayt okunmadan dosya sonuna gelinirse getline işlevi -1 ile döner.