std::fstream
- C++ kursu
- Orta seviye
- Ders 90/116
- 5 dk
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
#include <iostream>
#include <fstream>
#include <string>
int main() {
// std::fstream ile dosyaya yaz, kapat, sonra oku
return 0;
}Örnek çözüm
#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
std::fstream fs("veri.txt", std::ios::____);
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?
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.