Standart C ile Dosyadan Veri Okuma ve Yazma

C programlama dilinde bir dosyaya adı ve soyadı bilgisini katar(string) şeklinde, maaş bilgisini küsüratlı şekilde dosya.txt dosyasına yazıp, okuyunuz. 


Double(Çift hassasiyetli) veri tipi klavyeden alınırken scanf fonkisyonunda %lf ile alınır, string veriler ya da karakter dizileri %s ile alınır. fprintf dosyaya yazmak için, fscanf ise dosyadan okumak için kullanılmaktadır. 


Dosya işlemleri yapılırken önce dosya göstergeci(pointer) tanımlanır. Aşağıda FILE tipinden *fp dosya belirteci tanımlanmaktadır.

FILE *fp;

Aşağıdaki komut satırı ile dosya.txt dosyası yazma modunda açılmaktadır. Burada yazma modunu belirten w sembolü kullanılmıştır. Bu işlemin sonucunda dosya açılamazsa fp değişkenine NULL değeri dönecektir.

fp = fopen("dosya.txt","w")

Aşağıdaki satırda ise dosya.txt dosyası okuma modunda açılmaktadır. Okuma modu için r sembolünün kullanıldığına dikkat ediniz.Burada da okuma yapılamazsa fp değişkenine NULL değeri dönecektir.

fp = fopen("dosya.txt","r") 


Kullanıcıdan verileri scanf ile alırken tamsayıi float ve double veri tiplerinden & (adres)  belirteci kullanıldığına dikkat ediniz.


#include <stdio.h>
#include <stdlib.h>

int main() {


    FILE *fp, *fp2;
    char adi[50],soyadi[50];
    double maas;

 

    if ( (fp = fopen("dosya.txt","w"))==NULL) {
        printf("Dosya açılamadı");
        exit(1);
    }

    printf("Ad giriniz:");
    scanf("%s",adi); // veya gets(adi)

    printf("Soyad giriniz:");
    scanf("%s",soyadi);// veya gets(soyadi)

    printf("Maas giriniz:");
    scanf("%lf",&maas);


    fprintf(fp,"%s\t",adi);
    fprintf(fp,"%s\t",soyadi);
    fprintf(fp,"%lf\t", maas);

    fclose(fp);



    if ( (fp2 = fopen("dosya.txt","r"))==NULL) {
        printf("Dosya açılamadı");
        exit(1);
    }

    fscanf(fp2, "%s\t",adi);
    fscanf(fp2, "%s\t",soyadi);
    fscanf(fp2, "%lf\t",&maas);
    printf("Okunan %s %s %lf",adi,soyadi,maas);

    return 0;
}


Aşağıda ise program çalıştırıldığında oluşan ekran görüntüsü yer almaktadır. Son satır dosyadan okunan verileri göstermektedir. Görüldüğü gibi sorunsuz şekilde yazılmış ve okunmuştur.
 




Bu sayfada yer alan kodlar Jetbrains firmasının Clion IDE'si ile yazılmıştır, Eclipse veya Netbeans gibi IDE'ler kullanabilirsiniz. C++ derleyicisi olarak MinGW kullanılmaktadır. Başka C++ derleyicileri kullandığınızda bu kodlarda yer alan komutların bulunduğu kütüphaneler farklı olabilir. İlgili komutları kendi derleyicinizin dökümanlarına bakarak projenize dahil ettiğinizde çalışacaktır. 

Mutlu kodlamalar,
Oğuzhan TAŞ
Ocak 2021

Bookmark and Share