CodeBlanks Logo Icon CodeBlanks

std::fstream

std::fstream ile hem okuma hem yazma öğrenirsin.

std::fstream tek sınıfta

std::fstream hem okuma hem yazma için kullanılır. Hangi modda açılacağını std::ios::in, std::ios::out bayraklarıyla belirtirsin.

Örnek: std::fstream fs("veri.txt", std::ios::out); dosyayı yazmak için açar. Yazıp kapattıktan sonra fs.open("veri.txt", std::ios::in); ile aynı nesneyi okumak için yeniden açabilirsin. Böylece tek bir fs nesnesiyle hem yazıp hem okursun. std::ios::trunc içeriği siler, std::ios::app sonuna ekler. Bayrakları | ile birleştirebilirsin.

Aynı nesneyle yaz ve oku

Bir std::fstream nesnesini önce yazma, sonra okuma için kullanabilirsin. Arada close() ve open() çağrısı modu değiştirir.

Örnek: fs.open("veri.txt", std::ios::out); ile yaz, fs.close(); ile kapat. Sonra fs.open("veri.txt", std::ios::in); ile oku. Bu yöntem, aynı dosyaya önce veri yazıp sonra işleyen programlarda pratiktir. İki ayrı nesne (std::ifstream ve std::ofstream) kullanmak da mümkündür; std::fstream bunları tek çatı altında toplar.

Uygulama std::fstream ile yaz ve oku

Tek bir std::fstream nesnesi kullan. Önce std::ios::out modunda aç, "Merhaba" yaz ve kapat. Sonra std::ios::in modunda yeniden aç, >> ile bir kelime oku ve std::cout ile yazdır.

Başlangıç kodu

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

int main() {
    // std::fstream ile dosyaya yaz, kapat, sonra oku

    return 0;
}

Örnek çözüm

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

int main() {
    std::fstream fs("veri.txt", std::ios::out);
    fs << "Merhaba";
    fs.close();
    fs.open("veri.txt", std::ios::in);
    std::string k;
    fs >> k;
    std::cout << k;
    return 0;
}

Beklenen çıktı

Merhaba

Soru ve cevaplar

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

1 Modu rolüne eşle

Kavram Anlamı
std::ios::in Okuma
std::ios::out Yazma
std::ios::app Sonuna ekleme
std::ios::trunc İçeriği silme

2 Yazma modunu belirt

Soru
std::fstream fs("veri.txt", std::ios::____);
Cevap
std::fstream fs("veri.txt", std::ios::out);

Açıklama: std::ios::out yazma modunu açar.

3 std::fstream hangi işlem için kullanılır?

main.cpp
std::fstream fs("veri.txt");
  • Yalnızca okuma
  • Yalnızca yazma
  • Yalnızca dosya silme
  • Hem okuma hem yazma Doğru cevap

Açıklama: std::fstream hem okuma hem yazma için kullanılır.

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