0Pricing
C++ Academy · Ders

ifstream ile Dosya Okuma

Metin ve verileri okuyun

ifstream ile Dosya Okuma, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.

ifstream nedir

std::ifstream (girdi dosyası akışı), dosyalardan veri okur. std::cin gibi çalışır, ancak kaynağı diskteki bir dosyadır.

  • <fstream> içinde tanımlanır.
  • Yapıcısında adı verilen bir dosyayı açar.
#include <iostream>
#include <fstream>

int main() {
    std::ofstream("demo.txt") << "hello\n";
    std::ifstream in("demo.txt");
    std::string word;
    in >> word;
    std::cout << word << '\n';
    return 0;
}

Dosya açma

Bir ifstream nesnesini dosya adıyla oluşturun, ardından dosyanın bulunup bulunmadığını is_open() ile denetleyin.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("data.txt") << "42\n";
    std::ifstream in("data.txt");
    std::cout << (in.is_open() ? "opened" : "failed") << '\n';
    return 0;
}

Sözcükleri okuma

>> işleci, tıpkı cin kullanımında olduğu gibi, boşluklarla ayrılmış belirteçleri okur.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("words.txt") << "alpha beta gamma\n";
    std::ifstream in("words.txt");
    std::string w;
    while (in >> w) std::cout << w << '\n';
    return 0;
}

Sayıları okuma

Sayısal türleri doğrudan alabilirsiniz. Akıştan veri alma işlemi, metni uygun türe ayrıştırır.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("nums.txt") << "10 20 30\n";
    std::ifstream in("nums.txt");
    int sum = 0, x;
    while (in >> x) sum += x;
    std::cout << "sum = " << sum << '\n';
    return 0;
}

getline ile satırları okuma

Boşluklar da dahil olmak üzere satırın tamamını, yeni satıra kadar okumak için std::getline() kullanın.

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ofstream("lines.txt") << "first line\nsecond line\n";
    std::ifstream in("lines.txt");
    std::string line;
    while (std::getline(in, line)) std::cout << "[" << line << "]\n";
    return 0;
}

Dosyanın tamamını okuma

Bir dosyanın tamamını tek seferde okumak için akış arabelleği yineleyicilerini kullanarak dosyayı bir dizeye okuyun.

#include <iostream>
#include <fstream>
#include <sstream>

int main() {
    std::ofstream("all.txt") << "line1\nline2\n";
    std::ifstream in("all.txt");
    std::stringstream ss;
    ss << in.rdbuf();
    std::cout << ss.str();
    return 0;
}

Dosya sonunu algılama

Bir okuma döngüsü, genellikle dosyanın sonunda olmak üzere, veri alma işlemi başarısız olduğunda sona erer. Akışı bir koşulda denetlemek bunu kontrol eder.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("eof.txt") << "1 2 3\n";
    std::ifstream in("eof.txt");
    int x, count = 0;
    while (in >> x) ++count;
    std::cout << "read " << count << " numbers\n";
    std::cout << "eof: " << std::boolalpha << in.eof() << '\n';
    return 0;
}

Eksik dosyayı ele alma

Dosya mevcut değilse akış başarısız durumuna geçer ve is_open() false olur. Okumadan önce her zaman denetleyin.

#include <iostream>
#include <fstream>

int main() {
    std::ifstream in("does_not_exist_12345.txt");
    if (!in) {
        std::cout << "could not open file\n";
    }
    return 0;
}

Yapılandırılmış satırları ayrıştırma

Her satırdaki alanları ayrıştırmak için getline ile istringstream öğesini birlikte kullanın.

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>

int main() {
    std::ofstream("people.txt") << "Alice 30\nBob 25\n";
    std::ifstream in("people.txt");
    std::string line;
    while (std::getline(in, line)) {
        std::istringstream ss(line);
        std::string name; int age;
        ss >> name >> age;
        std::cout << name << " is " << age << '\n';
    }
    return 0;
}

open ve close işlemleri

Varsayılan olarak oluşturulmuş bir akışı daha sonra open() ile açabilir ve close() ile serbest bırakabilirsiniz.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("oc.txt") << "data\n";
    std::ifstream in;
    in.open("oc.txt");
    std::string s; in >> s;
    in.close();
    std::cout << s << '\n';
    return 0;
}

RAII sizin yerinize kapatır

Bir ifstream kapsamından çıktığında yıkıcısı dosyayı otomatik olarak kapatır. Elle close() çağırmak nadiren gerekir.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("raii.txt") << "x\n";
    {
        std::ifstream in("raii.txt");
        std::string s; in >> s;
        std::cout << s << '\n';
    } // file closed here automatically
    std::cout << "closed\n";
    return 0;
}

Hızlı Kontrol

Satır okuma konusundaki anlayışınızı sınayın.

Özet

std::ifstream öğesinin:

  • >> ve std::getline kullanarak dosyalardan okuma yaptığını
  • is_open() ile veya akışı denetleyerek kontrol edilmesi gerektiğini
  • kapsamından çıktığında RAII aracılığıyla otomatik olarak kapandığını öğrendiniz

Sırada ofstream ile dosyalara yazma var.

Sıkça Sorulan Sorular

“ifstream ile Dosya Okuma” dersi ücretsiz mi?

Evet — “ifstream ile Dosya Okuma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.

“ifstream ile Dosya Okuma” dersinde ne öğreneceğim?

Metin ve verileri okuyun C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C++ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“ifstream ile Dosya Okuma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. ifstream ile Dosya Okuma
  2. ofstream ile Dosya Yazma
  3. İkili Dosya G/Ç
  4. Hata İşleme ve Durum
← C++ Academy Sayfasına Dön