![]() |
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: 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: 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: rewind(dosya_gostergesi) |
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 18:59. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk