Metin dosyaları, verileri bir kere hazırlayıp, ikincil saklama biriminde (disk, CD v.b.) tutmaya ve daha sonra defalarca kullanmaya olanak tanır.

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

Temel Bilgisayar Programlama

DOSYA İŞLEMLERİ Programlama dilleri hafta -

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

Eln 1002 Bilgisayar Programlama II

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

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

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ALGORİTMA VE PROGRAMLAMA II

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

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

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

Yrd. Doç. Dr. Caner ÖZCAN

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

Genel Programlama II

Yrd. Doç. Dr. Caner ÖZCAN

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

Eln 1001 Bilgisayar Programlama I

12. Saat : Dosyalar I (Files)

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

Temel Giriş/Çıkış Fonksiyonları

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

Dosyalar 1.1 Dosya Nedir?

DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever

Giris {\} /\ Suhap SAHIN Onur GÖK

void main() { int a[] = {1, 2, 3, 4, 5, 6}; int *p=&a[2]; int **pp=&p; printf("%d", **pp+2); }

ALGORİTMA VE PROGRAMLAMA II

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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

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

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

ALGORİTMA VE PROGRAMLAMA II

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

C Programlama printf() Fonksiyonu

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

Fen ve Mühendislik Uygulamalarında MATLAB

Hafta 12 Karakter Tutan Diziler

Final Sınavı Soruları Güz, Süre: 90 Dakika

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

Bilgisayar Programlama MATLAB

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

PROGRAMLAMAYA GİRİŞ DERS 2

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

Adım Adım C. Dr. Hidayet Takcı

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p)

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Diziler (Arrays) Çok Boyutlu Diziler

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

Chapter 11 Dosya İşleme

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

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

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.

Giriş. ENF102 Jeoloji

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

int printf (const char *format [, argument,...]);

Bigisayar Programlama

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

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

C++ Giriş Ders 5 MSGSU Fizik Bölümü Ferhat ÖZOK

Strings(Karakter Dizisi)

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

C++ Dersi: Nesne Tabanlı Programlama

ELN1001 BİLGİSAYAR PROGRAMLAMA I

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

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

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

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

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Final Sınavı Soru Toplam Puanlar

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

T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI Bahar Yarıyılı

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

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İ

STRING (SÖZEL) İŞLEMLER. Yrd. Doç.Dr. Bülent Çobanoğlu

8. İŞARETCİLER (POINTERS)

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

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

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

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

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

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Adım Adım C-II. Eksik kalmış konular

ALGORİTMA VE PROGRAMLAMA I

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

C PROGRAMLAMA DİLİNE GİRİŞ

ALGORİTMA VE PROGRAMLAMA I

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Ders 4: Temel Giriş/Çıkış Fonksiyonları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Fonksiyonlar (Altprogram)

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

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

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

C PROGRAMLAMA D İ L İ

Transkript:

Bölüm 11 Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

Metin Dosyaları Metin dosyaları, verileri bir kere hazırlayıp, ikincil saklama biriminde (disk, CD v.b.) tutmaya ve daha sonra defalarca kullanmaya olanak tanır. Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 2

Metin Dosyaları Ali 90 Osman 10 Aysel 25... Her bir öğrenci için hazırlanan ve dosya içinde tek bir satırda tutulan bilgilerden her birine kayıt adı verilir. Örneğin, Ali 90 bir kayıttır. Dosyada, kayıtları ayırmakta, dosya sonunu göstermektedir. Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 3

Metin Dosyaları Değişken uzunlukta kayıtları içeren dosya: Ali 81 Musa 78 Aysel 66 Osman 54 Sabit uzunlukta kayıtları içeren dosya: Ali 81 Musa 78 Aysel 66 Osman 54 Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 4

Dosya Açma ve Kapama Dosya Göstergesi fiziksel dosyaya erişim için programın içinden tanımlanmış olan bir iç dosya adıdır. FILE *iç_dosya_adı; Dış dosya adı ise, işletim sistemi üzerinde dosyaya verilen ismi temsil eder Örnek: Disk üzerinde daha önceden hazırlamış olduğumuz bir dosyaya programımız içinden erişebilmek için aşağıdaki tanımlamayı yapalım. FILE *ogrencidosyası; Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 5

Dosya Açma ve Kapama Dosya Açma FILE * iç_dosya_adı; iç_dosya_adı = fopen(dış_dosya_adı, dosya_açma_modu); fopen()fonksiyonu dış_dosya_adı nı taşıyan dosyanın açılmasını sağlar ve bu dosyanın adresinin programa döndürülmesini sağlar. dosya_açma_modu : dosyanın hangi amaçla açılacağını belirlemek için kullanılan bir parametredir. Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 6

Dosya Açma ve Kapama mod Anlamı r Okuma (read) w Yazma (write) ve dosya yaratma a Sonuna ekleme (append) r+ Okuma ve yazma w+ Okuma, yazma ve dosya yaratma (önceki veriler silinir) a+ Okuma, yazma ve dosya yaratma (önceki verilerin sonuna devam edilir) Dosya Açma modları Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 7

Dosya Açma ve Kapama Örnek: FILE *ogrencidosyasi; ogrencidosyasi = fopen( test.txt, w ); ogrencidosyasi Ali 81 Musa 78 Aysel 66 Osman 54 test.txt Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 8

Dosya Açma ve Kapama Dosya Kapama fclose()fonksiyonu daha önce fopen() fonksiyonu ile açılmış olan bir dosyanın kapatılmasını sağlar. fclose(iç_dosya_adı); Örnek: FILE *ogrencidosyasi; ogrencidosyasi=fopen( c:\test.txt, w );... fclose(ogrencidosyasi); Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 9

Okuma Đşlemleri Metin dosyasi okuma amaçlı r modunda açılmalıdır. Dosya Okuma ve Yazma fgetc()fonksiyonu dosyadan göstergenin o an gösterdiği karakterin alınmasını sağlar. fgetc( iç_dosya_adı); Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 10

Dosya Okuma ve Yazma Örnek: FILE *dosyaoku; dosyaoku=fopen("input.txt","r"); char ch; ch = fgetc(dosyaoku); printf("dosyadaki ilk karakter: %c\n", ch); Çıktı: Dosyadaki ilk karakter: A Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 11

Dosya Okuma ve Yazma fgets() fonksiyonu dosyadan bir dizgi okur ve bu dizginin göstergesini geri döndürür.. Örnek: fgets(dizgi, n, iç_dosya_adı); FILE *dosyaoku; dosyaoku=fopen("input.txt","r"); char st1[30]; fgets(st1,4,dosyaoku); printf("st1: %s\n", st1); Çıktı: st1: Ali Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 12

Dosya Okuma ve Yazma fscanf() fonksiyonuscanf() fonksiyonuna benzer bir şekilde çalışır ve verileri dosyadan okur. fscanf(iç_dosya_adı, format,...); Örnek: int x, y,k; double z,t; char ch; char st1[30],st2[30]; FILE *dosyaoku; dosyaoku=fopen("oku.txt","r"); fscanf(dosyaoku,"%d\n",&x); printf("%d\n", x); Çıktı: 123 Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 13

Dosya Okuma ve Yazma Yazma Đşlemleri Metin dosyasi okuma amaçlı w modunda açılmalıdır. fputc() fonksiyonu tek bir karakterin dosyaya yazılmasını sağlar. fputc(karakter_tanımı, iç_dosya_adı); Örnek: char ch='a'; FILE *dosyayaz; dosyayaz=fopen("ogrenci.txt","w"); fputc(ch, dosyayaz); Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 14

Dosya Okuma ve Yazma fputs() fonksiyonu dosyaya bir dizginin yazılmasını sağlar. fputs(dizgi, iç_dosya_adı); Örnek: FILE *dosyayaz; dosyayaz=fopen("ogrenci.txt","w"); fputs("ali 82\n",dosyaYaz); fputs("aysu 97\n",dosyaYaz); fclose(dosyayaz); Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 15

Dosya Okuma ve Yazma fprintf() fonksiyonu dosyaya formatlı bir biçimde yazma işlemi yapmak amacıyla kullanılır. fprintf(iç_dosya_adı, format,...); Örnek: char okudosyaadi[] = "c:/dosya_oku.txt"; char yazdosyaadi[] = "c:/dosya_yaz.txt"; char ad[30]; int no; FILE *yfp, *ofp; ofp = fopen(okudosyaadi,"r"); fscanf(ofp,"%s %d",ad,&no); yfp = fopen(yazdosyaadi,"w"); fprintf(yfp,"%d %s\n",no, ad); fclose(ofp); fclose(yfp); Osman 129 129 Osman Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 16

Dosya Okuma ve Yazma Örnek: Bir dosya içinden öğrencilerin dönem içindeki iki ara sınav ve bir final notunu okuyan ve dönem sonu notunu ara sınavların %25 ve final notunun %50 etkileyecekşekilde hesaplayarak diğer bir dosyaya yazdıran bir program yazınız. #include <stdio.h> int main(void) { int mt1, mt2, final, donemnotu; char ad[30]; FILE *dosyaoku; FILE *dosyayaz; dosyaoku=fopen("ogrenci.txt","r"); dosyayaz=fopen("notlar.txt","w"); while (fscanf(dosyaoku,"%s %d %d %d\n",&ad, &mt1, &mt2, &final)!= EOF) { donemnotu = (mt1 *0.25)+(mt2*0.25)+(final*0.5); fprintf(dosyayaz,"%s: %d\n", ad, donemnotu); } fclose(dosyaoku); fclose(dosyayaz); return(0); } Osman: 73 Veli: 62 Aysu: 77 Sukran: 69 Muhittin: 84 notlar.txt Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 17

Standart Girdi / Çıktı stdout: genellikle bilgisayar ekranı olarak önceden tanımlanmış olan ve standart çıktı biriminin nereyi göstereceğini belirlemeye yarayan bir tanımlama alanıdır. stdin: standart girdi birimini tanımlar ve genellikle klavye olarak önceden tanımlanmıştır. Örnek:fprintf() fonksiyonunun çıktısının bir dosya içine değil de ekrana yansıtılması mümkündür. fprintf(stdout,"merhaba Dunya\n"); Örnek: Benzer bir işlem fscanf() fonksiyonu ile aşağıdaki gibi gerçekleştirilir. fscanf(stdin,"%d",&sayi1); Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 18

Hata Kontrolü FILE *dg; tanımlamasına göre hata kontrolleri Fonksiyon Tanımı Açıklama clearerr(dg); Hata ve dosya-sonu durumunun temizlenmesini sağlar. feof(dg); ferror(dg); perror(s); Dosya-sonuna (EOF) ulaşılmış ise sıfırdan farklı bir değer, er, diğer durumlarda sıfır döndürür. Hata durumu oluşmuş ise sıfırdan farklı bir değer, diğer durumlarda sıfır değerini döndürür. Standart çıktı biriminde tek satırdan oluşan bir hata mesajının gösterilmesini sağlar. Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 19

Örnek: Hata Kontrolü FILE *ofp; ofp=fopen("c:/dosya_oku.txt","r"); if (ofp==null) perror ("Hata: Dosya Acilamadi"); else { fputc ('x',ofp); if (ferror (ofp)){ printf ( Hata: c:/dosya_oku.txt dosyasina ); printf ( yazma islemi gerceklesmedi\n ); } } fclose (ofp); Bölüm 11 Metin Dosyaları Çağıltay, Selbes, Tokdemir, Turhan 20