Tekil Mesaj gösterimi
Alt 13 Kasım 2009, 11:57   #1
Çevrimiçi
toXic Doğrulanmış Üye
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Rastgele Erişim




Normalde, bir dosya açıldıktan sonra, ilk okuma veya yazma işlemi dosyanın hemen başından yapılır. Bir sonraki işlem ise, en son işlem tarafından etkilenen son baytı izleyen bayttan başla***** yapılır. Bundan dolayı, buna sıralı erişim denir. Bunu yapmadan, yani önceki baytları okuyup veya yazmadan, istediğimiz bir bayta ulaşmak (yani rastgele erişim yapmak) için fseek kullanırız:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
fseek(dosya_gostergesi, uzun_sayi, nereden)


Yukarıdaki çağrıda ilk iki argümanın tipleri isimlerinden anlaşılabilir. nereden ise ya SEEK_SET (dosyanın başından), ya SEEK_CUR (şu anki konumundan) yada SEEK_END (dosyanın sonundan) olabilir. fseek işletildikten sonra dosya_gostergesi tarafından işaret edilen dosya üzerindeki okuma veya yazma nereden ile belirtilmiş yerden uzun_sayi mesafedeki bayttan başlıyacaktır. Eğer herhangi bir hata olursa, fseek sıfırdan farklı bir sayı döndürür, aksi takdirde 0 verir. Bir metin dosyasında bir karakterin konumunun hesaplanmasının anlamlı yada en azından taşınabilir bir özellik olmadığına dikkat edin; fseek tamamen ikili (ham) girdi/çıktı içindir.
Eğer, birtakım işlemlerden sonra, dosyanın başından kaç bayt ileride olduğunuzu öğrenmek isterseniz ftell kullanın:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
uzun_sayi = ftell(dosya_gostergesi)


uzun_sayi’ya miktarı koyacaktır; eğer bir hata olursa -1L verecektir.
Sık sık dosyayı “geri sarmak”, yani başına fseek yapmak isteyebilirsiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
rewind(dosya_gostergesi)

Bunu yapmanın kısa yoludur..

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklamver bizimmekan