C++ programlama dilinde dosya işlemleri, dosyaları oluşturma, okuma, yazma, güncelleme ve silme gibi işlemleri gerçekleştirmenize olanak tanır. Dosya işlemleri için kullanabileceğiniz temel C++ kütüphaneleri `fstream` ve `iostream` içinde yer alır. İşte C++ dilinde dosya işlemlerini nasıl yapabileceğinize dair temel bilgiler:
1. **Dosya Akışları Oluşturma
*
Dosya işlemleri için `fstream` kütüphanesini kullanarak dosya akışları (stream) oluşturmanız gerekir. `ifstream` (giriş), `ofstream` (çıkış), ve `fstream` (giriş ve çıkış) sınıfları, dosyalarla çalışmanıza olanak tanır.
```cpp
#include <iostream>
#include <fstream>
int main() {
std::ofstream dosya("ornek.txt"); // Dosyayı yazmak için oluşturur
std::ifstream okuma("okunacak.txt"); // Dosyayı okumak için oluşturur
std::fstream dosya2("dosya2.txt", std::ios::in | std::ios::out); // Dosyayı hem okuma hem yazma için oluşturur
// Dosya işlemleri burada yapılır
dosya.close();
okuma.close();
dosya2.close();
return 0;
}
```
2. **Dosya Yazma
*
Bir dosyaya veri yazmak için `<<` operatörünü kullanabilirsiniz.
```cpp
std::ofstream dosya("ornek.txt");
dosya << "Merhaba, dosyaya yazılan metin!" << std::endl;
dosya.close();
```
3. **Dosya Okuma
*
Bir dosyadan veri okumak için `>>` operatörünü kullanabilirsiniz.
```cpp
std::ifstream okuma("okunacak.txt");
std::string veri;
okuma >> veri;
std::cout << veri << std::endl;
okuma.close();
```
4. **Dosya Güncelleme
*
Dosyanın içeriğini güncellemek için `std::ios::app` bayrağını kullanabilirsiniz.
```cpp
std::fstream dosya("dosya2.txt", std::ios::out | std::ios::app);
dosya << "Bu metin dosyanın sonuna ekleniyor." << std::endl;
dosya.close();
```
5. **Dosya Silme
*
Bir dosyayı silmek için C++ dilinde özel bir fonksiyon yoktur. Ancak, işletim sisteminizin komut satırı veya dosya yöneticisi kullanılarak dosya silinebilir.
Dosya işlemleri yaparken hata kontrolünü unutmayın ve dosyanın başarıyla açıldığından emin olun. Dosyaları açtıktan sonra kapatmayı unutmayın (`close()` yöntemi kullanılır) çünkü dosyanın üzerinde yapılan değişiklikler kapatılmadan kaydedilmez.