std::ofstream
- C++ kursu
- Orta seviye
- Ders 89/116
- 5 dk
std::ofstream ile dosyaya yazmayı öğrenirsin.
std::ofstream ile yazma
std::ofstream bir dosyaya yazmak için açar. << operatörüyle veriyi dosyaya göndeririz. Dosya yoksa oluşturulur; varsa içeriği silinir ve baştan yazılır.
Örnek: std::ofstream out("veri.txt"); out << "Selam"; out.close();. Bu üç satır veri.txt dosyasını oluşturur, içine Selam yazar ve kapatır. Yazdıktan sonra dosyayı std::ifstream ile okuyup içeriği doğrulayabilirsin. İşlem bitince close() çağırmak iyi bir alışkanlıktır; böylece tampon bellek diske yazılır.
Çoklu değer yazma
Tek bir << zinciriyle birden çok değer yazabilirsin. out << "Ad: " << ad << " " << yas; dize, değişken ve sayıyı ardışık yazar.
Satırları ayırmak için \n veya std::endl kullanırsın. Örnek: out << "Birinci" << std::endl << "İkinci"; iki satır yazar. Sayıları yazarken ek bir şeye gerek yok: out << 42; doğrudan 42 yazar. Dosyaya yazılan veriyi sonradan >> ile geri okuyabilirsin; biçim korunur.
Uygulama Dosyaya yaz ve geri oku
Başlangıç kodu dosyayı okuyup ekrana yazdırır. Sen std::ofstream ile veri.txt dosyasını aç, içine "Selam" yaz ve kapat. Okuma kısmı hazır; senin yazdığın dosyadan okuyacak.
Başlangıç kodu
#include <iostream>
#include <fstream>
#include <string>
int main() {
// std::ofstream ile dosyaya "Selam" yaz
// Dosyayı oku ve yazdır
std::ifstream in("veri.txt");
std::string kelime;
in >> kelime;
std::cout << kelime;
return 0;
}Örnek çözüm
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ofstream out("veri.txt");
out << "Selam";
out.close();
std::ifstream in("veri.txt");
std::string kelime;
in >> kelime;
std::cout << kelime;
return 0;
}Beklenen çıktı
Selam
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dosyaya yaz
out << ____;
out << "Selam";
Açıklama: Dize çift tırnakla yazılır.
2 std::ofstream ile açılan dosya zaten varsa ne olur?
std::ofstream out("veri.txt");- İçeriğin sonuna eklenir
- Hata fırlatır
- İçeriği silinir ve baştan yazılır Doğru cevap
- Salt okunur açılır
Açıklama: ofstream varsayılan olarak içeriği siler ve baştan yazar.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
std::ofstream |
Dosya yazma |
<< |
Veri yazma |
out.close() |
Dosyayı kapatma |
std::endl |
Satır sonu |