CodeBlanks Logo Icon CodeBlanks

Satır okuma

getline ile satır satır okumayı öğrenirsin.

getline ile satır okuma

std::getline bir dosyadan boşluğa değil, satır sonuna kadar okur. Böylece içinde boşluk olan satırları tam olarak alırsın.

Örnek: std::string line; std::getline(in, line);. Bu, in akışından bir satır okur ve line değişkenine koyar. >> boşlukta dururdu; getline yeni satır karakterinde durur ve onu atar. Dosyadaki tüm satırları işlemek için while (std::getline(in, line)) döngüsü yaygındır: her başarılı okumada bir döner, dosya sonunda durur. Bu yöntem, metin dosyalarını satır satır işlemenin standart yoludur.

getline döngüsü

Dosyadaki tüm satırları işlemek için while (std::getline(in, line)) kullanırsın. Okuma başarılı oldukça döngü döner; dosya sonunda durur.

Örnek: while (std::getline(in, line)) { std::cout << line << "\n"; }. Bu, dosyadaki her satırı alt alta yazdırır. Döngü değişkeni olarak line her yinelemede yeniden dolar. Boş satırlar da getline ile okunur; bu durumda line boş dize olur. Döngüden sonra in.close(); çağırarak dosyayı kapatmak iyi bir alışkanlıktır.

Uygulama İlk satırı oku ve yazdır

Başlangıç kodu veri.txt dosyasına iki satır yazar. Sen std::ifstream ile dosyayı aç, std::getline ile ilk satırı oku ve std::cout ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <fstream>
#include <string>

int main() {
    // Dosyayı hazırla
    std::ofstream out("veri.txt");
    out << "Birinci satır\nİkinci satır";
    out.close();

    // İlk satırı oku ve ekrana yazdır

    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ofstream out("veri.txt");
    out << "Birinci satır\nİkinci satır";
    out.close();

    std::ifstream in("veri.txt");
    std::string line;
    std::getline(in, line);
    std::cout << line;
    return 0;
}

Beklenen çıktı

Birinci satır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 std::getline(in, line) ne yapar?

main.cpp
std::string line;
std::getline(in, line);
  • Satır sonuna kadar okur Doğru cevap
  • Bir sayı okur
  • Bir karakter okur
  • Dosyayı kapatır

Açıklama: getline satır sonuna kadar okur.

2 Parçayı rolüne eşle

Kavram Anlamı
std::getline Satır okuma
>> Kelime okuma
in.close() Dosyayı kapatma
while (getline(...)) Satır döngüsü

3 getline çağrısını tamamla

Soru
std::____(in, line);
Cevap
std::getline(in, line);

Açıklama: std::getline bir satır okur.

Orta seviye bölümündeki tüm dersler