std::ifstream
- C++ kursu
- Orta seviye
- Ders 88/116
- 5 dk
std::ifstream ile dosya okumayı öğrenirsin.
std::ifstream ile okuma
std::ifstream bir dosyayı okumak için açar. #include <fstream> başlığıyla gelir. Dosyadaki veriyi >> operatörüyle çekeriz.
Bu derste dosyadan okumayı öğreniyoruz. Çalışan örnekler için dosyayı önce std::ofstream ile oluşturuyoruz; yazmayı sonraki derste inceleyeceğiz. Örnek: std::ifstream in("veri.txt"); dosyayı okumak için açar. Sonra std::string kelime; in >> kelime; ile ilk kelimeyi çekeriz. İşlem bitince in.close(); dosyayı kapatır.
>> operatörü ile okuma
>> operatörü dosyadan boşlukla ayrılmış veri parçalarını çeker. std::string a, b; in >> a >> b; iki kelimeyi ardışık okur.
Her >> çağrısı bir sonraki boşluğa kadar okur ve boşluğu atlar. Dosya sonuna gelindiğinde >> başarısız olur. Bu yüzden döngülerde while (in >> kelime) biçimi yaygındır: okuma başarılı oldukça döner. Sayı okurken de aynı operatör çalışır: int n; in >> n; bir tamsayı çeker ve n değişkenine koyar.
Uygulama Dosyadan kelime oku ve yazdır
Başlangıç kodu veri.txt dosyasını "Merhaba" içeriğiyle oluşturur. Sen std::ifstream ile dosyayı aç, >> ile bir kelime oku ve std::cout ile yazdır.
Başlangıç kodu
#include <iostream>
#include <fstream>
#include <string>
int main() {
// Dosyayı hazırla (yazmayı sonraki derste inceleyeceğiz)
std::ofstream out("veri.txt");
out << "Merhaba";
out.close();
// Dosyayı oku ve ekrana yazdır
return 0;
}Örnek çözüm
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ofstream out("veri.txt");
out << "Merhaba";
out.close();
std::ifstream in("veri.txt");
std::string kelime;
in >> kelime;
std::cout << kelime;
return 0;
}Beklenen çıktı
Merhaba
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 std::ifstream in("veri.txt"); ne yapar?
std::ifstream in("veri.txt");- Dosyaya yazar
- Dosyayı okumak için açar Doğru cevap
- Dosyayı siler
- Dosyayı kopyalar
Açıklama: std::ifstream dosyayı okumak için açar.
2 Dosya adını belirt
std::ifstream in(____);
std::ifstream in("veri.txt");
Açıklama: Dosya adı çift tırnakla verilir.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
std::ifstream |
Dosya okuma |
>> |
Veri çekme |
in.close() |
Dosyayı kapatma |
#include <fstream> |
Başlık dosyası |