Şimdi Ara

Şu dosya komutunu açıklayın acil !!

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
2
Cevap
0
Favori
266
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • if((dosya=fopen("dosyam.txt","r+"))==NULL)
    {
    dosya=fopen("dosyam.txt","w+");
    fclose(dosya);
    dosya=fopen("dosyam.txt","r+");
    printf("DOSYA OLUSTURULDU"); getch();

    }

    Arkadaşlar yukardaki komutları açıklarmısınız . Buradaki r+ w+ işlevi nedir neden hem okutup hem yazdırıor r+ w+ yerıne neden w r kullanılmadı.



  • Merhaba,

    Buradaki fopen fonksiyonu icin verilmis aciklamayi ceviriyorum:

    "r" okuma: Dosyayi okuma işlemi için açar. Dosya var olmak zorundadır.
    "w" yazma: Yazma işlemleri için boş bir dosya oluşturur. Eğer aynı isimle bir dosya var ise, o dosyanın içeriği silinir ve boş bir dosyaymış gibi değerlendirilir.
    "a" ekle: Dosyanın sonuna yazma işlemi yapmak için açar. Yazma işlemleri her zaman dosyanın en sonuna yapılır. Dosyanın içeriğini(veri sırasını) değiştirme işlemleri (fseek, fsetpos, rewind) yok sayılır. Eğer verilen isimde dosya yoksa, yaratılır.
    "r+" oku/güncelle: Dosyayı güncellemek için açar (hem yazmak hem de okumak için). Verilen isimde dosya olmak zorundadır.
    "w+" yaz/güncelle: Boş bir dosya yaratır ve hem yazma hem de okuma işlemleri için açar. Eğer aynı isimle bir dosya var ise, o dosyanın içeriği silinir ve boş bir dosyaymış gibi değerlendirilir.
    "a+" ekle/güncelle: Dosyayı hem yazma hem de okuma işlemleri için açar. Yazma işlemler her zaman dosyanın en sonuna yapılır. Dosyanın içeriğini değiştirme işlemleri (fseek, fsetpos, rewind) bir sonraki dosya okuma işlemi için imlecin pozisyonunu değiştirir ancak yazma işlemleri her zaman imleci dosyanın sonuna götürür. Eğer verilen isimde dosya yoksa, yaratılır.


    Verdiğin kodun amacı, verilen isimde dosya yoksa(r+), o dosyayı yarat(w+) ve daha sonra okuma işlemi içi aç(r+).

    Ancak yukarıdaki çevirimi okursanız böyle bir kod yazmak yerine kısaca

    quote:

    dosya=fopen("dosyam.txt","a+");


    demek daha mantıklı görünüyor.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.