Dosyalar 1.1 Dosya Nedir?

Benzer belgeler
ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Temel Dosya İşlemleri. Kütük Organizasyonu 1

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

Temel Bilgisayar Programlama

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

Yrd. Doç. Dr. Caner ÖZCAN

Eln 1002 Bilgisayar Programlama II

ALGORİTMA VE PROGRAMLAMA II

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

Genel Programlama II

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

Yrd. Doç. Dr. Caner ÖZCAN

DOSYA İŞLEMLERİ Programlama dilleri hafta -

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr.

DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever

Eln 1001 Bilgisayar Programlama I

ALGORİTMA VE PROGRAMLAMA II

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

12. Saat : Dosyalar I (Files)

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

ALGORİTMA VE PROGRAMLAMA II

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Dosyalama İşlemleri. Ders Notları

Fen ve Mühendislik Uygulamalarında MATLAB

C/C++ Disk G/Ç İşlemleri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

Verileri Sıralı ve Random Erişimli Dosyalamak

Temel Giriş/Çıkış Fonksiyonları

C Programlama Dilininin Basit Yapıları

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

BÖLÜM 12: DOSYA İŞLEMLERİ

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Bilgisayar Programlama MATLAB

ELN1001 BİLGİSAYAR PROGRAMLAMA I

GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

C Konsol Giriş Çıkış Fonksiyonları

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

İSMET AKTAR ANADOLU TEKNİK LİSESİ BİLİŞİM TEKNOLOJİLERİ ALANI WEB PROGRAMCILIĞI DALI

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

MATLAB de Programlama & Dosya Yönetimi. EE-346 Hafta 6 Dr. Ayşe DEMİRHAN

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

C nin Stantart Dosya Fonksiyonlarının Uyguladığı Tamponlama Mekanizması

İşletim Sistemlerine Giriş

Fiziksel Veritabanı Modelleme

Göstericiler (Pointers)

Özyineleme (Recursion)

Pointer Kavramı. Veri Yapıları

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

ALGORİTMA VE PROGRAMLAMA I

PROGRAMLAMAYA GİRİŞ DERS 2

ALGORİTMA VE PROGRAMLAMA II

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

FORTRAN da Giriş/Çıkış Ve Tanımlamalar

Bilgisayar Sistemlerine Genel Bakış

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

Dr. Fatih AY Tel: fatihay@fatihay.net

Chapter 11 Dosya İşleme

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

2 ISINMA TURLARI - DERLEYİCİ VE DERLEME KAVRAMLARIYLA BİRLİKTE GCC DERLEYİCİSİNE BİR BAKIŞ

3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

// hataları işaret eden referans

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

C Programlama printf() Fonksiyonu

Biçem Belirteçleri (Format Specifiers)

Programlama Dilleri 1. Ders 4: Diziler

Yrd. Doç. Dr. Caner ÖZCAN

C PROGRAMLAMA D İ L İ

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Strings(Karakter Dizisi)

C PROGRAMLAMA D İ L İ

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA I

HSancak Nesne Tabanlı Programlama I Ders Notları

İşletim Sistemi. BTEP205 - İşletim Sistemleri

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

PROGRAMLAMA TEMELLER. C Program Yap s

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

PROGRAMLAMA DİLLERİ I

ALGORİTMA VE PROGRAMLAMA II

Genel Programlama II

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Mantıksal İşlemler. 7.1 true, false, nil

3.1 Pointer in Yararları

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Sınav tarihi : Süre : 60 dak.

Transkript:

1 Dosyalar 1.1 Dosya Nedir? Bilgisayar kullanımını gerektiren çoğu işler çok sayıda veri kullanır. Üstelik, aynı konularda bilgi veren verilerin gruplandırılarak bilgisayar izlencesinin her yürütülüşünde yeniden kullanılması gerekebilir. Örneğin, bir kurumda calışan personelin Maaş Bordrosunu yapan izlencenin her ay yürütülüşünde herbir personelin adı, soyadı, sicil_no, derecesi, kademesi, göstergesi, katsayı,... vb bilgiler ana belleğe aktarılacaktır. Program yürüyüşü bitip, veriler ana bellekten silinince, yeniden girilene kadar o verileri kullanma olanağı olamayacaktır. Her ay bu verilerin, kullanıcı tarafından yeniden girilmesi pratik bir yol değildir. Bunun yerine, her zaman kullanılacak verilerin ana bellek dışında kalıcı bir kayıt ortamına kaydedilerek, gerektiğinde oradan ana belleğe aktarılabilmeye hazır durumda tutulması uygun bir yöntem olacaktir. Bu bicimde, bir dış ortama kaydedilerek saklanan veri kümelerine dosya (dosya, file) denilir. Eski programlama dillerinin birçoğu giriş-çıkış deyimlerine sahiptir; klavye, disk,teyp, printer, ekran gibi çevre birimlerinin herbirisine bağlantı yapabilmesi için özel komutlar gerekir. Dosyaları açan, kapayan, dosyalar arasında veri alış verişi yapan anahtar sözcükleri vardır. Ancak, çağdaş işletim dizgelerinin çoğu klavye, printer, disk, ekran v.b. çevre birimleriyle doğrudan ilişki kurmaz; onların herbirisini bir kanal (channel) olarak algılar. Dolayısıyla bir kanaldan veri alır (giriş) ya da bir kanala veri gönderir (çıkış). Böylece, bu kanallar yoluyla işletim dizgesi çevre birimlerine bağlanmis olur. Bu mekanizmanin avantaji sudur: girişin ya da çıkisin yapılacagi çevre biriminin değişmesi, ana programda bir deği-

2 BÖLÜM 1. DOSYALAR şiklik yaratmıyacaktır. Örneğin çıktınin ekrana, printere ya da bir dosyaya gönderilmesi işlemleri temelde aynıdir; yalnızca istenen çevre birimine bağlı olan kanalın secilmesi yeterlıdır. C dilinde, özellikle, bütün giriş ve çıkışlar kanallarla yapılır. Örneğin getchar() fonksiyonunu klavyeden veri alan bir fonksiyon olarak değil, belirli bir kanaldan veri alan bir fonksiyon olarak düşünmek gerekir. Bu kanal stdin adıyla bilinir. Bu kanal klavyeye bağlıdır. Benzer olarak, ekrana giden çıkışları yapan kanala stdout denilir. Bu bağlamda dosya açma, dosyaya veri yazma ya da dosyadan veri okuma işlemleri birer kanal ile yapılan işlemlerdir. Daha açık söylersek, C dilinde (C derleyicisinde) giriş-çıkış deyimleri yoktur. Dosya açıp kapamaya yarayan anahtar sözcükler yoktur. Bütün bunlar birer fonksiyon ile yapılır. Bu fonksiyonlar bir kütüphanede (LIB) biriktirilir. Böyle olduğu için C dili basittir; kolayca her donanım sisteminde kullanılabilir. Yeni bir donanım dizgesine uyarlamak için yalnızca ilgili fonksiyonları değiştirmek yetecektir. Özelikle, yeni dizge için giriş-çıkış işlemlerini yapacak kanalları belirlemek yeterlıdır. C dilinde bütün girdi ve çıktılar dosya girdisi ve çıktısıdır. Program calışırken, girdi ve çıktılar ya işletim sistemi tarafından otomatik olarak açılıp kapanan dosyalaral yapılır ya da programcının isteği ile açılıp kapanan dosyalarla yapılır. C derleyicilerinin çoğu aynı anda 20 kadar dosyanın açılmasına izin verirler. Bunlardan ilk birkaç tanesi klavye, ekran v.b. çevre birimleriyle ilişkilıdır. Tabii istenirse bunlar başlıkka kanallara yöneltilebilmektedir. Öteki dosyalarr kayıt ortamlarıyla ilişkilıdır. Kayıt ortamları sabit disk, floppy disket, teyp v.b. olabilir. 1.2 Dosya İşaretçisi (file pointer) C dilinde dosyalar programın dışında yaratılır. Her dosyanın bir adı vardır. Dosya bir dizin e yazılıyorsa, ayrıca o dizin e giden yolu (path) da belirtmek gerekir. Programda her dosya bir pointer ile bildirilir: 1 bildirimi bir dosyayı işaret eden fp adlı bir pointer yaratır. FILE sözcüğü C dilinde bir veri tipidir. Standart LIB fonksiyonları arasında stdio.h adlı başlık (header) kütüğünde bildirilmistir. Yukarıdaki fp pointerinin işaret ettigi dosyayı ilk defa yaratmak ya da daha önce

1.2. DOSYA İŞARETÇISI 3 yaratılmışsa, onu açmak için fopen() fonksiyonu kullanılır. Bu iş için sözdizimi söyledir: fp = fopen ( " dosya \_adı ", " kip " ) ; Burada dosya_adı, genelde C dilinde var olabilecek bir addır. kip (mode) ise dosyanın hangi amaçla açıldığını belirten bir simgedir. Bu simgeler şunlardan birisi olabilir: r okunmak i ç i n, w üstüne yazmak i ç i n a sonuna eklemek i ç i n "r" modu Ingilizce de read (oku) sözcüğünun baş harfidir. Daha önceden yaratılmış bir dosyayı okumak için açar. İstenen dosya yoksa, hata iletisi verir. Dosya işaretçisi, fp, dosyanın başlangıcını işaret eder. Dolayısıyla, okunmak için açılan dosya başlangıcından itibaren sırayla okunabilir. Ancak istenirse, belirli sayıda byte atlatılarak, kaçıncı byte isteniyorsa dosya işaretçisinin istenen o byte uzerine gelmesi ve oradan itibaren okuması sağlanabilir. Bunun nasıl yapıldığını biraz sonra göreceğiz. Bazı derleyicilerde, yukarıdaki standard modlara ek olarak başka modlar var olabilir. Örneğin TURBO C derleyicici, yukarıdakilere ek olarak, aşağıdaki modları de destekler: " a+" Eklemek i ç i n aç ( oku ve yaz ), 2 " b " Blok I /O i ç i n aç " j " Binary okumak i ç i n aç, " k " Binary yazmak i ç i n aç, " r +" Oku/Yaz e r i ş i m i i ç i n aç, " s " P a y l a ş ı m l ı s a y f a i ç i n aç, 7 " u " Güncelleme i ç i n ac, " x " Önemli guncelleme i ç i n aç, "w+" S i l, yeniden yarat ve oku/ yaz i ç i n aç. C dilinde bir dosya, byte lardan oluşan bir dizidir. Buna veri ırmağı (data stream), ya da veri dizini de denilebilir. Belirli bir başlangıç yeri ve belirli bir bitis yeri vardır. Herbir öğesinin bir program için belirli bir anlamı vardır. Belirli sayıda ardışık byte lardan oluşan gruplara belirli tür veriler yazılabilir. Böylece eşit uzunlukta benzer gruplardan oluşan veri dizileri elde edilir. Yapı (struct) kullanılarak yaratılan dosyalar bu tür dosyalardır. Belli bir yapıdan oluşan bir dosyanın text dosyalarıdır. Aslında C dilindeki bütün kütükler C text dosyalarıdır. Ancak, bir yapıdan oluşan dosya, o yapıdaki verileri ardışık byte lara kaydeden bir kaydı (record) o yapının uzunluğuna bağlıdır ve byte cinsindenölülebilir. En küçük uzuluktaki yapı 1 byte

4 BÖLÜM 1. DOSYALAR uzunluğundaki kayıtlardan oluşan dosyalardır. Bunlar text dosyalarıdır. ASlnda C dilindeki bütün dosyalar text dosyalarıdır. Ancak bir yapıdan oluşan dosya, o yapıdaki verileri ardışık byte larqa kaydeden bir text dosyasıdır. Yapının kaç byte uzunluğunda olduğu kolayca hesaplanabildiğine göre, bir dosyada istenilen kayda erişmek olanaklıdır. Bir değişkene ayrılan yerin uzunluğunu byte cinsinden hesaplayan sizeof() adlı bir C fonksiyonu vardır. Bu fonksiyon ile dosyayı oluşturan yapının uzunluğu bulunabilir. Sonra, yapı uzunluğu ile istenen kayıt numarası çarpılarak aranan kaydın ilk byte ına ulaşılabilir. 1.3 Buffer İşlemleri C dili bir dosya açtığı zaman ana bellekte ona bir yer ayırır. Buna dosya için ayrılan buffer (yastık, tampon) alanı diyeceğiz. Dosya ile program arasındaki veri alış-verişini buffer fonksiyonları denilen bazı C LIB fonksiyonları yapar. Programın isteğine göre, bazıları dosyaya yazılacak verileri buffera kaydeder, bazıları da bufferdaki verileri dosyanın bulunduğu kayıt ortamına gönderir. Bazıları da dosyadan okunacak verileri buffera gönderir. Baska bir deyişle, bir dosyaya ayrılan buffer alanı dosyaya giden ya da dosyadan gelen kayıtlar için gecici bir bekleme deposudur. Dosya kapatılırken, bufferda kalan bütün veriler dosyaya aktarılır. Herhangi bir fonksiyonun buffera taşıdığı veriler buffera sığmazsa, genel olarak ffill(), fflush() fonksiyonları yardıma çağrılır. Bu fonksiyonlar buffera veri yükler ve buffardaki verileri dosyaya aktarır. C LIB içindeki az sayıda I/O foksiyonları buffer işlemlerine gerek olmadan doğrudan doğruya dosyaya kayıt yapar ya da dosyadan kayıt okur. Bu fonksiyonların calışma bicimleri C derleyicisine ve donanıma bağlı olarak değişkenlik gösterir. Bu fonksiyonlar buffer işlemlerini aradan çıkardığı için dosya ile ilgili veri alış-verişini çok hızlı yapabilirler. Ancak standart olmadıkları, yani derleyiciye ve donanıma bağlı olarak değişkenlik gösterdikleri için, her derleyiciye ya da her donanıma uygulanamazlar. Örneğin, birçok derleyicide varolan putch() C LIB fonksiyonu bir karakteri doğrudan ekrana gönderir; hiçbir stdin, stdout fonksiyonu ya da buffer fonksiyonu kullanmaz: 1 putch ( i n t c ) { bdos ( ) x06, c ) ; }

1.4. DOSYA FONKSIYONLARI 5 1.4 Dosya Fonksiyonları fopen() Bir dosyayı açar. 1 fp = fopen ( " dosya_adı ", " kip " ) ; fclose() Açılmış bir dosyayı kapatır. Kapatmada önce dosya buffer indaki verileri dosyaya yollar. 2 f c l o s e ( fp ) ; fflush() Çıkış buffer ındaki verileri dosyaya yollar. Kütüğün açık olduğunu varsayar. 2 f f l u s h ( fp ) ; fgetc() Belirlenen dosyadan bir karakter okur. 2 c h a r ch ; ch = f g e t c ( fp ) ; fputc() Belirlenen dosyaya bir karakter gönderir (yazar). 1 c h a r ch ; f p u t c ( ch, fp ) ; getc() Belirtilen dosyadan bir karakter okur. 1 ch = g e t c ( fp ) ; putc() Belirlenen dosyaya bir karakter yollar. c h a r ch ; 4 s t a t = putc ( ch, fp ) ; fgets() Belirlenen dosyadan, pointerin bulunduğu yerden sonraki ilk satırı okur.

6 BÖLÜM 1. DOSYALAR 1 c h a r d i z i b u f [ ], f g e t s ( ) ; i n t max ; f g e t s ( d i z i b u f, max, fp ) ; fprintf() Bir dosyaya formatlanmıs çıkış gönderir. printf() fonksiyonu için kullanılan format kurallarını aynen kullanır; ancak çıktıları, ekran yerine fp file pointerinin işaret ettiği dosyaya gider. Fonksiyonun değeri çıkan verilerin byte sayısıdır. Yanlış olduğunda EOF değerini alır. i n t f p r i n t f ( FILE fp, c o n s t c h a r format, ) ; fputs() Açılan dosyaya bir string yazar. c h a r d i z i b u f ; 4 f p u t s ( d i z i b u f, fp ) ; fread() Herbiri m byte uzunlukta n veriyi dosyadan okur. Okunan veri sayısı fonksiyonun değeridir. Türü, veri uzunluğuna bağlı olarak int, long v.b. olarak belirlenir. 1 tür f r e a d ( v o i d ptr, tür m, tür n, FILE fp ) ; freopen() Daha önce fopen ile açılmış bir dosyayı kapatır; yeniden bir dosya açar ve onu dosya pointerine bağlar; yani açık bir kanalı kapatıp yenisini açar. FILE eskidosya, f r e o p e n ( ) ; c h a r yenidosya, kip ; 4 f r e o p e n ( yenidosya, kip,, eskidosya ) ; fscanf() Bir dosyadan formatlanmış veri okur. 1 i n t f s c a n f ( FILE fp, c o n s t c h a r format, ) ; Fonksiyonun değeri, dosyadan okuyup cevirebildiği ve buffera depoladığı veri alanlarının sayısıdır. Okuduğu ancak depolayamadığı veri alanlarının sayısını dışlar. fwrite() Herbiri size byte uzunlukta n veriyi dosyaya yazar. Yazılan veri sayısı fonksiyonun değeridir. Türü, veri uzunluğuna bağlı olarak int, long v.b. olarak belirlenir.

1.5. SEÇKILI (RASGELE) ERISIM 7 t i p f w r i t e ( c o n s t v o i d ptr, tür m, tür n, FILE fp ) ; fflush() Sistem bufferindakileri dosyaya gönderir. s t a t = f f l u s h ( fp ) ; ftell() Açık dosyanın pointerinin pozisyonunu gösterir. l o n g f t e l l ( FILE fp ) ; fseek() Dosya pointerinin istenen yere gitmesini sağlar. i n t f s e e k ( FILE fp, l o n g yeni, i n t e s k i ) ; Dosya pointerini, eski konumunda iken yeni konumuna gönderir. 1.5 Seçkili (rasgele) Erisim lseek() Oku/Yaz dosya pointerini hareket ettirir. Seçkili (Rasgele) 1 erişimi sağlar. 4 C kütükleri karakter dizileri olduğu için, kayıt ortamınin (disket, disk, teyp) yeteneklerini kullanarak, bir C kütüğünde istenen kayda erişilebilir. Bunun için dosyayı oluşturan kayıtların (record) uzunluğunu byte cinsinden bilmek yetecektir. Bu isi yapan LIB fonksiyonu l o n g l s e e k ( kanal, l o n g nereye, i n t nereden ) bicimindedir. Burada kanal : dosyayı b e l i r l e y i c i ad, nereye : Dosya p o i n t e r i n i n bulunduğu yerden ne kadar b y t e a t l a y a c a ğ ı n ı b e l i r t e n sayı, nereden : Dosya p o i n t e r i n i n nereden i t i b a r e n a t l a y a c a ğ ı n ı b e l i r t e n s a y ı. Bunun i ç i n üç s eçenek v a r d ı r : 0 : Dosya b a ş l a n g ı c ı n d a n i t i b a r e n, 1 : Bulunduğu yerden i t i b a r e n, 2 : Kütüğün sonundan g e r i y e doğru. Örneğin, 1 rasgele sözcüğünün Türkçe anlamı, çoğunlukla, raslantı, gelişi-güzel terimlerine karşılıktır. Oysa bilgisayarda "random access" teriminin anlamı, seçilen, istenilen veriye doğrudan erişimdir. O nedenle, bu kitapta "random access" karşılığı olarak "seçkili erişim" terimi kullanılacaktır.

8 BÖLÜM 1. DOSYALAR l s e e k ( bordro, 1260, 0) ; deyimi bordro adlı dosyayı işaret eden pointerin, başlangıcından itibaren 1260 -ıncı byte üzerine gelmesini sağlar. rewind Pointeri dosyanın başlangıcına yollar. v o i d rewind ( FILE fp ) ; setbuf() Dosya için bir buffer ayırır. v o i d s e t b u f ( FILE fp, c h a r buf ) ; Eger buf NULL ise I/O buffera girmez; değilse giriş ve çıkışlar buffera girer. Buffer BUFSIZ byte uzunluktadır.