MENU ▽ بیلگی
آذربایجان تورکجه‌سینده بیلگی‌لر

  • آنا صفحه‌سی
  • فلسفه
  • کامپیوتر
  • بیزه گؤره
  • fread()‎‏ فانکشنی

    پروقرامین مسیرینده‌کی یئره باخسانیز، پروقرام ایله یارانمیش data.txt باینری فایلی تاپا بیله‌جکسینیز و آشاغیداکی پروقرام ایله، باینری فایل‌داکی قاباقکی پروقرام ایله یازیلان میقدارلاری یئنی‌دن اوخویاجاییق.

    #include <stdio.h>
    struct record
    {
    int ad;
    char name[20];
    };
    int main()
    {
    FILE *fp;
    int i;
    float f;
    double d;
    char c;
    int duzen[3];
    struct record x;
    fp = fopen("data.txt", "rb");
    if(fp == NULL)
    {
    printf("Cannot open file");
    return 0;
    }
    fread(&i, sizeof(i), 1, fp);
    fread(&f, sizeof(f), 1, fp);
    fread(&d, sizeof(d), 1, fp);
    fread(&c, sizeof(c), 1, fp);
    fread(&duzen, sizeof(duzen), 1, fp);
    fread(&x, sizeof(x), 1, fp);
    printf("i=%d\n",i);
    printf("f=%f\n",f);
    printf("d=%lf\n",d);
    printf("c=%c\n\n",c);
    for(i=0; i<3; i++)
    printf("%d ",duzen[i]);
    printf("\n\nad=%d\n",x.ad);
    printf("Name=%s",x.name);
    fclose(fp);
    return 0;
    }

    بوراخیش ایسه بئله گؤرونمه‌لیدیر:

    Output Terminal
    i=23
    f=17.329000
    d=3.142856
    c=E
    
    3 5 7 
    
    ad=1
    Name=Peter
    
    Process returned 0 (0x0)   execution time : 0.002 s
    Press ENTER to continue.

    یاخشی، گؤردویونوز تکین قاباقجا تعیین ائدیب و باینری فایل‌دا یازیلان ایطیلاعات، بو پروقرام‌دا اوخونوب‌لار.

    بوتون زادلار دا آیدین‌دیر. یالنیز ایطیلاعاتی اوخوماق اوچون، fread فانکشنی ایشلتمیشیک.

    بو فانکشنیندن ده آرقومان‌لاری، دقیقا fwrite فانکشنینده‌کی آرقومان‌لارین تایی‌دیر.

    fread (data_address, data_size, number_of_item, file_pointer);

    اؤنملی بیر زادی بیلمه‌لیسینیز، ایطیلاعاتی اوخوماق اوچون، اونون ترتیبی چوخ اؤنملی‌دیر و سکوئنشال (سری، ترتیبی، آردیجیل) ایطیلاعاتی، دالی-قاباق اوخوماق اولماز.

    داها دوغروسو، ایکی نوع فایلی نظرده آلا بیلرسینیز:

    ۱- آردیجیل و سکوئنشال أل تاپماق فایلی

    ۲- تصادوفی و رندوم أل چاتان فایل

    اصلینده آردیجیل ایطیلاعاتی اوخوماق چوخ دا پیس دئییل، آنجاق بیر فایل‌داکی ایطیلاعات چوخ حجمی اولاندا و بویوک میقداری اولاندا، ایطیلاعاتا أل چاتماق چتینلشیر و داها چوخ واقت آپاریر، بونا گؤره ده ایطیلاعاتا أل چاتماغی تصادوفی ائتمک، بو موشکول اوچون چوخ یاخشی بیر یول اولا بیلر.

    آشاغیداکی تصویرده بو ایکی نوع فایلا أل چاتماغی گؤره بیلرسینیز:

    اوست‌ده‌کی تصویرده بوتون زادلار بللی‌دیر.

    آردیجیل اوخوماقدا، ۱۰-جو ایطیلاعاتا أل چاتماق اوچون، اوندان قاباقکی ایطیلاعاتی بیر بیر سووشمالی‌ییق، آنجاق تصادوفی أل چاتماقدا، دیرک ایسته‌دیگیمیز ایطیلاعاتا ألیمیز چاتا بیلر و بونون اوچون یالنیز بیر زادی بیلمه‌لیٔییک: او ایطیلاعات هارادادیر؟

    بو ایشده باینری فایلی مودیریت ائتمک اوچون ده، قاباقکی تکین ۳ ساییدا فانکشنی ایشلتمک اولار.

    یعنی rewind()‎‏ فانکشنی، fseek()‎‏ فانکشنی و ftell()‎‏ فانکشنی.

    قاباقجا بیر شوماره یا یئر، بیر کاراکتر اولسایدی، ایندی بیر بایت نظرده آلیناجاقدیر.

    یالنیز fseek()‎‏ فانکشنی اوچون بیر داها آرقومان‌لاری آچیقلایاجاییق.

    fseek(file pointer, offset, position);

    بورادا ایلک آرقومان، ایشاره‌چی فایل تانینیر.

    سونرا آفست‌دیر و نئچه بایتی دالی یا قاباغا گئتمک اوچون بللی ائدیر و سونونجو آرقومان دا position آرقومانی‌دیر و آفست اوچون مرجع نوقطه‌یی بللی ائدیر.

     

    بو آرقومان ۳ میقداری آلا بیلر:

    ‎0 : فایلین باشلانقیج یئرینی مبنا توتور.

    ‎1 : ایندیکی موقعیتی مبنا توتور.

    ‎2 : فایلین سون و قورتاریش نوقطه‌سینی مبنا توتور.

    میثال اوچون آشاغیداکی دستور ایله، ایندیکی موقعیت‌دن ۴ بایت قاباغا گئدیر.

    fseek (fp, +4, 1);

    نئچه بایتی سایماق اوچون sizeof()‎ فانکشی ایشلتمک اولار. بئله‌لیک‌له داواملیجا فایلی دگیشیب و ایطیلاعاتین هارادا یئر توتماسی آیدین اولاجاق‌دیر.

    بو ایطیلاعاتی آیری فایل‌لاردا دا ساخلاماق اولار. بئله‌لیک‌له ایطیلاعات داها ایته بیلمزلر.

    لاپ بئله تصادوفی حالت‌ده ایطیلاعاتی یازا بیلسک ده، فیزیک‌سل اؤزللیکلر اوچون، بو ایطیلاعاتین یازیلماسی‌نین بیر نوع آردیجیل گئدیشی وار و بو دا قاچیریلماز بیر مسئله‌دیر.