6 Haziran 2017 Salı

C++ FWrite ve FSeeek Birlikte Kullanımı

/* Fseek ile imlec offset istenilen yere getiriliyor. 

Fwrite ilede belirtilen yere .dat dosyasıolarak yazılıyor */

struct musteriVerisi
{
    int hesap_No;
    char soyisim[30];
    char isim[50];
    double bakiye;
};
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    FILE *Ptr;
    struct musteriVerisi musteri;
    if((Ptr=fopen("musteri.dat","a"))==NULL)
    {
        printf("Dosya Acilamadi");
    }
    else
    {
       printf("Hesap Numaranizi Giriniz : \n");
       scanf("%d",&musteri.hesap_No);
       while(musteri.hesap_No!=0)
       {
            printf("Soy isim , isim ve Bakiye Bilgilerini Giriniz : \n");
            fscanf(stdin,"%s%s%lf",musteri.soyisim,musteri.isim,&musteri.bakiye);
            /* ÖNEMLİ GİRDİYİ STDINE ALMAK İSTERSEK FSCANF
         KULLANILIR !! */
          
            fseek(Ptr,(musteri.hesap_No-1)*sizeof(struct musteriVerisi),SEEK_SET);
            fwrite(&musteri,sizeof(struct musteriVerisi),1,Ptr);
            printf("Hesap Numaranizi Giriniz : \n");
            scanf("%d",&musteri.hesap_No);
       }
           fclose(Ptr);
    }
    return 0;
}


Share: