DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever

Benzer belgeler
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

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Yrd. Doç. Dr. Caner ÖZCAN

Genel Programlama II

Eln 1002 Bilgisayar Programlama II

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ALGORİTMA VE PROGRAMLAMA II

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

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

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

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ü

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

Dosyalar 1.1 Dosya Nedir?

DOSYA İŞLEMLERİ Programlama dilleri hafta -

Eln 1001 Bilgisayar Programlama I

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

12. Saat : Dosyalar I (Files)

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

Verileri Sıralı ve Random Erişimli Dosyalamak

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

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

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

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

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

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ü

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

Dosyalarda Farklı Yaklaşımlar. Kütük Organizasyonu 1

Fiziksel Veritabanı Modelleme

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

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

Chapter 11 Dosya İşleme

ALGORİTMA VE PROGRAMLAMA II

Temel Giriş/Çıkış Fonksiyonları

ELN1001 BİLGİSAYAR PROGRAMLAMA I

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

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

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Özyineleme (Recursion)

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

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

Bilgisayar Programlama MATLAB

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { int ID; char isim[15]; char soyisim[15];

Fen ve Mühendislik Uygulamalarında MATLAB

Dr. Fatih AY Tel: fatihay@fatihay.net

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

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

PROGRAMLAMAYA GİRİŞ DERS 2

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Bilgilerin Uzun Vadeli Saklanması

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

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

DİSK DEPOLAMA ALANLARI

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Ş (

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

BİL1001 Bilgisayar Bilimlerine Giriş 1

Strings(Karakter Dizisi)

Kets DocPlace LOGO Entegrasyonu

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

İşletim Sistemi. BTEP205 - İşletim Sistemleri

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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.

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

-Bilgisayarı oluşturan iki temel unsurdan diğeri ise YAZILIM dır.

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

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

C Programlama Dilininin Basit Yapıları

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

E-Posta Yönetimi. E-Posta Açma, Silme ve Yönetim Kılavuzu

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

BİLGİSAYAR PROGRAMLAMA DERSİ

Dr. Fatih AY Tel: fatihay@fatihay.net

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

1 Temel Kavramlar. Veritabanı 1

Programlama Dilleri 1. Ders 4: Diziler

Pointer Kavramı. Veri Yapıları

DOSYA ORGANİZASYONU. Sıralı erişimli dosya organizasyonu yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

ALGORİTMA VE PROGRAMLAMA I

Linux altında komut satırında...

VERİTABANI Veritabanı Yönetimi

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1

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

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

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

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

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

Transkript:

DOSYALAR 4 5. Hafta Temel terimler Bit: 0 veya 1 değerini alabilen bilgisayardaki en küçük veri parçasıdır. Byte: 8 bit in yan yana gelmesiyle oluşan veri grubudur. Karakter: Yazımda kullanılan harfler, rakamlar ve özel sembollerdir. Alan: Karakterlerin anlamlı şekilde yan yana dizilişidir. Kayıt ( kayıt alanı, yapı ): Alanların yan yana gelmesiyle oluşan yapıdır. Dosya: Kayıtlar topluluğudur. Veritabanı: İlgili dosyaların topluluğudur. 1

Veri hiyerarşisi Bit Byte Alan Kayıt 0 01000001 Aaaaa Aaaaa Bbbbb 1990 Dosya Aaaaa Bbbbb 1990 Ccccc Dddd 1989 Eeee 20 1.60 Ffff 19 1.65 Veritabanı Veritabanı yönetim sistemi Dosyalar Programlarda kullanılan değişkenlere veya dizilere aktarılan veriler, program çalıştığı sürece bellekte kalmaktadırlar. Geçici olan bu veriler, program sonlandırıldığında bellekten silinmektedirler. Verileri, ana veya çevre bellek birimlerinde (disket sürücü, HDD vb.) kalıcı olarak tutmak/saklamak için dosya lar kullanılmaktadır. C programlama dilinde ana/çevre birimlerindeki disk dosyasına erişme ve üzerinde işlemler (okumayazma) gerçekleştirme iki şekilde yapılabilmektedir: Üst düzey G/Ç (high level I/O) veya tamponlanmış G/Ç (buffered I/O) Alt düzey G/Ç (low level I/O) veya UNIX benzeri G/Ç (UNIX like I/O) 2

Dosyalar DOSYA Üst düzey G/Ç (Tamponlanmış G/Ç) Alt düzey G/Ç (UNIX benzeri G/Ç) Dosyalar Disk dosyaları içerdikleri verilere göre ikiye ayrılırlar: Metin dosyası (text file) İkili dosya (binary file) DOSYA Metin (Text) İkili (Binary) 3

Dosyalar Dosyalar genel olarak üç şekilde düzenlenebilirler: Sıralı erişimli: Kayıt alanı uzunluklarının serbest olduğu, kayıtlara erişimin sıralı bir şekilde yapıldığı dosyalardır. Rastgele erişimli: Kayıt alanı uzunluklarının sabit olduğu ve kayıtlara erişimlerin doğrudan yapılabildiği dosyalardır. İndeks erişimli: Sıralı ve rastgele erişimli dosyalama tekniğinin kombinasyonunu kullanan dosyalardır. Dosyalar DOSYA Sıralı erişimli Rastgele erişimli İndeks erişimli 4

Dosyalar ve Akımlar/Akışlar C programlama dili, her dosyayı - en basit olarak - bitlerin arka arkaya (seri) geldiği bir akım/akış (stream) olarak değerlendirir. Dosyalar genellikle dosya sonu belirteci (end of file) (eof) ile sonlanır. Dosyanın açılması, program ile dosya arasında bir akım/akışın oluşması anlamını taşır. Çünkü akım/akışlar dosyalar ile program arasında iletişim hattı ( haberleşme kanalı ) görevi görürler. eof 0 1 2 3 4 5 6 n-1 Akımlar/Akışlar Herhangi bir C programı çalışmaya başladığında aşağıdaki üç dosya ve ilgili akım/akışlar otomatik açılır: Standart giriş (stdin): Programın, klavyeden (gerektiğinde ilave komut satırlarıyla diğer birimlerden) veri okumasını/almasını sağlar. Standart çıkış (stdout): Programın ekrana veri yazdırmasını sağlar. Standart hata (stderr): Programın hata denetimini gerçekleştirmesini/bilgilendirmesini sağlar. 5

Dosyalama / Dosyalar Bilgisayarda veri girişi için kullanılan klavye, port gibi ve veri çıkışı için kullanılan ekran, yazıcı gibi birimleri birer sıralı erişimli dosya gibi tanımlayıp üzerinde işlemler yapmak mümkündür. MS-DOS işletiminde bu birimlerin adlandırılmaları tabloda verilmektedir. Birim Okuma Yazma Klavye CON - Ekran - CON Yazıcı - LST, PRN, LPT Paralel port COM COM Seri port COM COM Dosyalama / Dosyalar Herhangi bir dosya programı yazarken, genel olarak aşağıdaki adımları izlemek kolaylıklar sağlayacaktır: Dosyada ne tür verilerin kaydı tutulacaksa, öncelikle en optimum kayıt alanı tanımlanmalıdır. Her kayıtta benzersiz bir alan (kayıt anahtarı) olmalıdır. Dosya açılmalıdır. Dosya üzerinde işlemler gerçekleştirilmelidir. İşlemler tamamlandıktan sonra dosya kapatılmalıdır. 6

C deki dosya (FILE) yapısı Değişken level flags fd hold bsize buffer curp istemp token Görevi Tampon belleğin durumunu gösteren değer olup kalan okunacak karakter sayısını belirtir. Dosyanın durumunu gösterir. Dosyayı tanımlayıcı/belirleyici bir sayıdır. ungetch() fonksiyonu için bir değerdir. Tampon belleğin uzunluğudur. Tampon belleğin başlangıç adresidir. Tampon bellek üzerindeki okunacak/yazılacak konumu belirtir. Geçici dosyayı gösterir. Kontrol parametresidir. DOSYALAMA KOMUTLARI Hata kontrolü komutları Dosya açma komutları Dosya kapatma komutları Dosyaya yazma komutları Dosyadan okuma komutları Diğer dosyalama komutları 7

HATA KONTROLÜ Komutları Komut Kullanım şekli Açıklaması feof feof( dosya ) Dosya sonuna ulaşılıp ulaşılmadığını verir. Eğer değeri 0 (sıfır) ise dosya sonuna ulaşılmamış, 0 dan farklı ise dosya sonuna ulaşılmıştır. ferror ferror( dosya ) Dosya işlemlerinde hata olup olmadığını verir. Eğer geri dönen değer 0 (sıfır) ise hata yoktur. clearerr clearerr( dosya ) Akış hata ve dosya sonu belirteçlerini tekrar 0 a kurar/resetler. DOSYA AÇMA Komutları Komut Kullanım şekli Açıklaması fopen fopen( dosya, mod ) Dosyayı belirtilen modda açar. Başarısız -> NULL Mod Açma türü r Okuma Sadece okuma için açar. Kİ, dosya başına konumlanır. w Yazma Sadece yazma için açar. Kİ, dosya başına konumlanır. a Ekleme Ekleme için açar. Kİ, dosya sonuna konumlanır. w+ Yazmaokuma a+ Eklemeokuma Görevi Dosya varsa Dosya yoksa r+ Okumayazma Güncelleme (okumayazma) için açar. Kİ, dosya başına konumlanır. Yazma-okuma için açar. Kİ, dosya başına konumlanır. w ile aynı olup okuma da yapabilmektedir. Ekleme-okuma için açar. Kİ, dosya sonuna konumlanır. a ile aynı olup okuma da yapabilmektedir. Okuma için açar. İçeriği silinir. Ekleme için açar. Güncelleme açar. İçeriği silinir. Ekleme-okuma açar için için İşlem başarısız olur. Yeniden oluşturulur. Yeniden oluşturulur. İşlem başarısız olur. Yeniden oluşturulur. Yeniden oluşturulur. * Metin (text) ve ikili (binary) tipte dosyaları destekleyen işletim sistemlerinde modların yanına t harfi yazılarak metin ve b harfi yazılarak ikili dosya oluşturulabilir. t yazılmadığı durumlarda da C, dosyayı metin türünde değerlendirir. 8

DOSYA KAPATMA Komutları Komut Kullanım şekli Açıklaması fflush fflush( dosya ) Tampon bellekteki tüm veriyi, dolmasını beklemeden diske aktarır. flushall flushall( ) Açık olan tüm dosyaların tampon belleklerindeki verileri, dolmalarını beklemeden diske aktarır. Komut Kullanım şekli Açıklaması fclose fclose( dosya ) Belirtilen dosyayı kapatır. fcloseall fcloseall( ) Açık olan tüm dosyaları kapatır. DOSYAYA YAZMA Komutları Komut Kullanım şekli Açıklaması fputc fputc(karakter, dosya ) Dosyaya tek karakter yazar. putc putc(karakter, dosya ) Dosyaya tek karakter yazar. putw putw(tamsayı, dosya ) Tamsayıyı dosyaya word (2 Byte) olarak yazar. fputs fputs(karakter dizisi, dosya ) puts fonksiyonunun aynısı olup yazma işlemini dosyaya yapar. fprintf fprintf( dosya, biçim, değişkenler ) fwprintf fwprintf( dosya, biçim, değişkenler ) fwrite fwrite(adres, uzunluk, sayı, dosya ) printf fonksiyonunun aynısı olup yazma işlemini dosyaya yapar. Biçimli veriyi dosyaya yazar. Belirtilen bellek adresinden başlayarak, belirtilen uzunluktaki ve sayıdaki veriyi dosyaya aktarır. 9

DOSYADAN OKUMA Komutları Komut Kullanım şekli Açıklaması fgetc fgetc( dosya ) Dosyadan tek karakter okur. getc getc( dosya ) Dosyadan tek karakter okur. getw getw( dosya ) Dosyadan bir tamsayı (word) okur. fgets fgets(karakter dizisi, sayı, dosya ) fscanf fscanf( dosya, biçim, değişkenler ) fwscanf fwscanf( dosya, biçim, değişkenler ) fread fread(adres, uzunluk, sayı, dosya ) Belirtilen dosyadan verilen sayı kadar karakteri okuyarak karakter dizisine atar. scanf fonksiyonunun aynısı olup okuma işlemini dosyadan yapar. Biçimli veriyi dosyadan okur. Belirtilen bellek adresinden başlayarak, belirtilen uzunluktaki ve sayıdaki veriyi dosyadanokur. Diğer DOSYALAMA Komutları - KONUM Komut Kullanım şekli Açıklaması fseek fseek( dosya, konum, başlangıç ) Kayıt işaretçisini (Kİ) (dosya göstericisini DG) verilen başlangıç değerine göre belirtilen byte ına konumlandırır. başlangıç: SEEK_SET (0): Baştan SEEK_CUR (1): Aktif konum SEEK_END (2): Sondan ftell ftell( dosya ) Kİ (DG) nin dosyanın kaçıncı byte ını gösterdiğini (aktif konumunu) verir. fsetpos fsetpos( dosya, konum ) Kİ (DG) ni dosyanın belirtilen konumuna getirir. fgetpos fgetpos( dosya, konum ) Kİ (DG) nin dosyanın hangi konumunda olduğunu verir. fsetpos ile fgetpos birlikte kullanılmalıdırlar. rewind rewind( dosya ) Kİ (DG) ni dosyanın başına (ilk byte) getirir. 10

Diğer DOSYALAMA Komutları TAMPON BELLEK Komut Kullanım şekli Açıklaması setbuf setbuf( dosya, bellek ) Verilen dosya için tampon bellek başlangıç adresini ayarlar. setvbuf setvbuf( dosya, bellek, mod, uzunluk ) Verilen dosya için tampon bellek adresini, kullanım modunu ve uzunluk değerini ayarlar. mod: _IOFBF: I/O full buffering _IOLBF: I/O line buffering _IONBF: I/O no buffering Diğer DOSYALAMA Komutları Komut Kullanım şekli Açıklaması rename rename( eski isim, yeni isim ) Verilen eski isimdeki dosya adını yeni isim ile değiştirir. remove remove( dosya ) Verilen dosyayı siler. 11

SIRALI ERİŞİMLİ DOSYALAR Sıralı erişimli dosyalardaki okuma/yazma işlemlerinde üst düzey G/Ç (tamponlanmış G/Ç) kullanılır. Bu yöntemde okuma/yazma işlemleri temelde karakter düzeyinde yapılır. Kullanımı çok kolay ve pratik olup tampon bellek tanımlama, formatlı giriş/çıkış, veri dönüşümü gibi işlemler için ayrıca komut satırları yazılmasına gerek yoktur. Okuma/yazma işlemi doğrudan diskteki dosya üzerinde değil, bir tampon bellek (buffer) üzerinde yapılır. Tampon bellek, genellikle (veya değeri değiştirilmedikçe) uzunluğu 512 Byte olan bir dizidir. Örneğin dosya okuma için açıldığında kaydın/dosyanın ilk 512 Byte ı bu tampon belleğe alınır. Tampon bellekten tek tek okunan karakterler bitince, yani 512 Byte okununca bir sonraki 512 Byte lık kayıt bilgisi dosyadan okunup yerleştirilir. Yine ilk karakterden okumaya başlanarak bu işlem akışı kayıt/dosya sonuna kadar devam eder. Yazma işleminde de 512 Byte lık tampon bellek dolunca diske aktarılır. SIRALI ERİŞİMLİ DOSYALAR Kayıt alanı uzunluklarının serbest olduğu, kayıtlara erişimin sıralı bir şekilde yapıldığı dosya türleridir. Sıralı erişimli dosyalarda, herhangi bir kayda doğrudan ulaşmak mümkün değildir. İlgili kayda ulaşılıncaya kadar önündeki tüm kayıtlara bakmak gerekir. Böyle bir yöntem de, fazla kayıt içeren dosyalardaki arama hızını düşürür. 12

SIRALI ERİŞİMLİ DOSYA UYGULAMASI Kayıt alanı kayit Adı Soyadı Yaşadığı şehir ad soyad il char[20] char[25] char[20] Kayıt dosyası rehber.txt SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT EKLEME Başla Dosyayı aç Dosya açıldı mı? H Dosyayı oluştur E Kaydı gir Dosyaya kaydı yaz E Başka kayıt (E/H)? H Dosyayı kapat Dur 13

SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT EKLEME SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT LİSTELEME Başla Dosyayı aç i=ilk kayıt, son kayıt, 1 Dosyadan i. kaydı oku Dosyayı kapat i. kaydı yaz Dur 14

SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT LİSTELEME SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT ARAMA Başla ara s=0 Dosyayı aç i=ilk kayıt, son kayıt, 1 Dosyadan i. kaydı oku s=0 H ara = i. kayıttaki ad H E Aradığınız kayıt yoktur E i. kaydı yaz s=s+1 Dosyayı kapat Dur 15

SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT ARAMA SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT SİLME Başla sil Dosyayı ve yedek dosyayı aç i=ilk kayıt, son kayıt, 1 Dosyadan i. kaydı oku i. kaydı yedek dosyaya yaz Dosyaları kapat Dosyayı sil sil = i. kayıttaki ad E i. kaydı yaz H Yedek dosyanın adını değiştir Silmek istiyor musunuz (E/H)? Dur cev cev= E H E 16

SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT SİLME SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT GÜNCELLEME Başla g Dosyayı ve yedek dosyayı aç i=ilk kayıt, son kayıt, 1 Dosyadan i. kaydı oku Kaydı yedek dosyaya yaz Dosyaları kapat Dosyayı sil g = i. kayıttaki ad E i. kaydı yaz H Yedek dosyanın adını değiştir Güncellemek istiyor musunuz (E/H)? Dur cev cev= E H E Güncel kaydı gir 17

SIRALI ERİŞİMLİ DOSYA UYGULAMASI KAYIT GÜNCELLEME RASTGELE ERİŞİMLİ DOSYALAR Sıralı erişimli dosyalardaki kayıtların uzunlukları farklı olduğundan doğrudan erişim imkanı bulunmamaktaydı. Bu nedenle çok kayıt barındıran dosyalardaki erişim hızları düşmektedir. Rastgele erişimli dosyalarda ise herbir kaydın uzunluğu sabit olduğundan, ilgili kaydın konumu hesaplanabilmekte (bilinmekte) ve doğrudan erişim sağlanabilmektedir. Böylece de erişim/işleme hızı artmaktadır. 0 1. kayıt 5 0 2. kayıt 100 3. kayıt 150 4. kayıt 50 byte 50 byte 50 byte 50 byte 18

RASTGELE ERİŞİMLİ DOSYA UYGULAMASI Kayıt numarası Kayıt alanı kayit Adı Soyadı Yaşadığı şehir Telefonu kno ad soyad il tel int char[20] char[25] char[20] char[13] Kayıt dosyası rehber.dat RASTGELE ERİŞİMLİ DOSYA UYGULAMASI BOŞ DOSYA OLUŞTURMA 19

RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT EKLEME Başla Dosyayı aç Dosya açıldı mı? H Dosyayı oluştur E Kaydı gir Konumlandır Dosyaya kaydı yaz Dosyayı kapat Dur RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT EKLEME 20

RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT LİSTELEME Başla Dosyayı aç i=ilk kayıt, son kayıt, 1 i. kayda konumlandır Dosyayı kapat Dosyadan i. kaydı oku Dur i. kaydı yaz RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT LİSTELEME 21

RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT ARAMA Başla ara Dosyayı aç Aranan kayda konumlandır Dosyadan kaydı oku Okunan kaydı yaz Dosyayı kapat Dur RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT ARAMA 22

RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT SİLME Başla sil Dosyayı aç Silinecek kayda konumlandır Dosyaya boş kayıt yaz Dosyayı kapat Dur RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT SİLME 23

RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT GÜNCELLEME Başla Dosyayı aç Güncel verileri gir Güncellenecek kayda konumlandır Dosyaya kaydı yaz Dosyayı kapat Dur RASTGELE ERİŞİMLİ DOSYA UYGULAMASI KAYIT GÜNCELLEME 24

İKİLİ (BINARY) DOSYALAR 25