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

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

    fseek()‎ فانکشنی دوز چالیشسا 0‎ میقداری قایتارار یوخسا -1‎ و شماتیک یازیسی دا بودور:

    fseek ( file pointer , long integer offset , relative position );

    یاخشی، file pointer بللی‌دیر، قاباقجا تانیش اولدوغوموز فایل ایشاره‌چیسی‌دیر.

    سونرا long int offset وار و بو دا نئچه سایی کاراکتر اوچون آخیم یئرین داشینماسی‌دیر. منفی سول أله آپاریر و موثبت ایسه ساغا.

    rel position ایسه هانکی نوقطه‌یه نیسبت داشینما یئری بللی ائدیر.

    بو آچارین دا ۳ حالتی وار:

    آشاغیداکی اؤرنکلره باخین:

    fseek (fp , 3 , SEEK_SET);
    (فایلین باشلانما یئریندن ۳ کاراکتر قاباغا (ساغ أله) گئدیر)
    fseek (fp , 7 , SEEK_CUR);
    (ایندیکی یئردن ۷ کاراکتر داها قاباغا گئدیر)
    fseek (fp , -4 , SEEK_END);
    (فایلین آخیریندن ۴ کاراکتر دالیا قاییدیر)

    بیر پروقرام میثالی ایله داها آیدین گؤستره‌جه‌ییک.

    آشاغیداکی پروقرامی ایزله‌یین:

    #include <stdio.h>
    int main()
    {
    char name[32]="";
    FILE *fp;
    fp = fopen("file.txt", "w+");
    fprintf(fp,"%s","ali shir nevayi!");
    fseek(fp,8,SEEK_SET);
    fscanf(fp,"%s",name);
    printf("%s",name);
    fclose(fp);
    return 0;
    }

    بوراخیش صفحه‌سی:

    Output Terminal
    nevayi!
    Process returned 0 (0x0)   execution time : 0.004 s
    Press ENTER to continue.

    ۴-جو سطرده name آدی ایله و ۳۲ کاراکتر اوزونلوقدا بیر دوزن تعریف ائتمیشیک. داها دوغروسو بیر ایسترینگ.

    ۵-جی سطرده fp فایل ایشاره‌چیسی. ۶-جی سطرده file.txt یاراداندان سونرا، ۷-جی سطرده فایلین ایچینه ali shir nevayi!‎ ایسترینگی یازیلیب.

    سونرا ۸-جی سطرده، فایلین باشیندان ۸ کاراکتری ساییلیب و ۸-جی کاراکتردن سونرا fscanf()‎ فانکشنی ایله ۱ ساییدا ایسترینگ اوخونوب.

      a l i   s h i r   n e v a y i EOF
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  

     

    شوماره 0‎ فایلین باشی‌دیر. ۸ کاراکتر اوخونسا، r حرفی اولور و مبدا، r حرفین سونو نظرده آلینیر.

    بونا گؤره ده ۹-جو سطرین اوخودوغو ایسترینگ، nevayi!‎ کلمه‌سی اولور.

    بورادان اویانا بیر کاراکتر ده اوخونسا، فایلین آخیری أله گله‌جک. یعنی EOF

    بو مسئله‌یی گؤسترمک اوچون، اوستده‌کی پروقرامی بیراز دگیشیریک و یئنیدن یازیریق:

    #include <stdio.h>
    int main()
    {
    char ch1,name[32]="";
    FILE *fp;
    fp = fopen("file.txt", "w+");
    fprintf(fp,"%s","ali shir nevayi!");
    fseek(fp,8,SEEK_SET);
    fscanf(fp,"%s",name);
    printf("%s\n",name);
    ch1 = fgetc(fp);
    printf("%c",ch1);
    fclose(fp);
    return 0;
    }

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

    Output Terminal
    nevayi!
    �
    Process returned 0 (0x0)   execution time : 0.005 s
    Press ENTER to continue.

    بوراخیشداکی گؤردوگونوز � کاراکتری، ائله وورغولادیغیمیز EOF تانینیر. یعنی فایلین آخیری!