Satır okuma
- C++ kursu
- Orta seviye
- Ders 92/116
- 5 dk
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
#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
#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?
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
std::____(in, line);
std::getline(in, line);
Açıklama: std::getline bir satır okur.