Ad alanları
Türevler
Eylemler

getline

cppreference.com sitesinden
< cpp

Sözdizimi:

    istream& istream::getline( char* tampon, streamsize num );
    istream& istream::getline( char* tampon, streamsize num, char ayrac );

get() fonksiyonu giriş akımlarıyla kullanılır. char ayrac parametresi olmayan biçimi, ayraç olarak yeni satır karakterini kullanır. getline() aşağıdaki durumlardan biri gerçekleşene kadar tampon belleğe karakterleri okur:

  • num - 1 karakter okunmuş olması
  • EOF ile karşılaşılmış olması,
  • veya, ayrac karakteri okunmuş olması. Ayraç karakteri tampona yerleştirilmez.

Ayraç karakteri (normalde yeni satır) okunmadığında, giriş akımı hata durumuna ayarlanır.

Örneğin, aşağıdaki kod getline fonksiyonunu kullanarak bir metin dosyasının ilk 99 karakterini (bir karakter sonlandırma karakteri olarak ayrılmıştır) veya tek tek her bir satırını --hangisi daha önce gerçekleşirse-- ekrana gösterir. (EOF gelene veya 99 karakterden uzun bir satırla karşılaşılana kadar):

    ifstream fin("tmp.dat");
 
    int MAX_LENGTH = 100;
    char satir[MAX_LENGTH];
 
    while( fin.getline(satir, MAX_LENGTH) ) {
      cout << "okunan satir: " << satir << endl;
    }

Eğer dosyadan satırları karakter dizileri yerine string nesnelerine doğrudan okumak istiyorsanız, string getline fonksiyonunu kullanabilirsiniz.

Microsoft derleyicisi kullananlar getline'ın bir karakter fazladan okuması sorunuyla karşılaşabilirler. Bu sorunla ilgili olarak Microsoft getline bug adresindeki belgeye başvurabilirler.

İlgili Başlıklar: gcount, get, string getline, ignore, read