انواع فایل ها

از ویکی جامع پردیس دانشگاهی دانشگاه قم
پرش به: ناوبری، جستجو
برنامه نویسی پیشرفته
مقاله بعدی:درس:برنامه نویسی پیشرفته
مقاله قبلی:درس:برنامه نویسی پیشرفته


انواع فایل ها:

1-فایل های متنی 2-فایل های باینری

بررسی فایل های متنی:

در این نوع فایل ها داده ها(حروف، علائم، اعداد) بصورت رشته ای از کاراکترها ذخیره می شوند و اساس خواندن و نوشتن کاراکتر است. در حالت متنی کاراکتر 26 انتهای فایل را مشخص می کند.

نحوه کار با فایل ها:

1- باز نمودن فایل. 2- خواندن و نوشتن و یا اضافه نمودن. 3- بستن فایل.

1- باز نمودن فایل: برای باز نمودن فایل از تابع fopen بصورت زیر استفاده می کنیم.

file *f; // اشاره گر فایل

f= fopen("مد باز کردن","مسیر فایل");

مد باز کردن شامل نوع دستیابی یعنی ورودی (r) یا خروجی (w) و نوع فایل یعنی متنی (t) و باینری (b) می باشد.


توضیحات مد باز کردن
یک فایل متنی در حالت نوشتن (خروجی) باز می کند اگر فایل از قبل موجود باشد آن را overwrite می کند. wt
یک فایل متنی را در حالت خواندنی (ورودی) باز می کند. rt
یک فایل باینری را در حالت نوشتن (خروجی) باز می کند اگر فایل از قبل موجود باشد آن را overwrite می کند. wb
یک فایل باینری را در حالت خواندنی باز می کند. rb
یک فایل متنی را در حالت خواندنی و نوشتنی باز می کند اگر فایل از قبل موجود باشد آن را overwrite می کند. w+t
یک فایل متنی را در حالت خواندنی و نوشتنی باز می کند اگر فایل از قبل موجود باشد آن را overwrite می کند. r+t
یک فایل باینری را در حالت خواندنی و نوشتنی باز می کند اگر فایل از قبل موجود باشد آن را overwrite می کند. w+b
یک فایل باینری را در حالت خواندنی و نوشتنی باز می کند اگر فایل از قبل موجود باشد آن را overwite می کند. r+b
یک فایل متنی را در حالت خواندنی و نوشتنی باز می کند اگر فایل از قبل موجود باشد به انتهای آن اضافه می شود. a+t
یک فایل باینری را در حالت خواندنی و نوشتنی باز می کند اگر فایل از قبل موجود باشد به انتهای آن اضافه می شود. a+b

2-خواندن و نوشتن در یک فایل متنی: برای خواندن از تابع getc و نوشتن از تابع putc به طریقه زیر استفاده می شود.

char getc(اشاره گر فایل);

putc(اشاره گر فایل,کاراکتر);

2- خواندن و نوشتن در یک فایل باینری: برای خواندن رکورد از تابع fread و برای نوشتن از تابع fwrite به طریقه زیر استفاده می شود.

fread(اشاره گر فایل,تعداد بلوک,اندازه به بایت,آدرس بلوک داده);

fwrite(اشاره گر فایل,تعداد بلوک,اندازه به بایت,آدرس بلوک داده);

برای تشخیص انتهای یک فایل باینری از تابع feof به فرمت زیر استفاده می کنیم.

ing feof(اشاره گر فایل);

خروجی تابع feof در صورتی که به انتهای فایل رسیده باشد صفر می باشد، در غیر اینصورت مخالف صفر است.

3- بستن فایل: برای بستن هر نوع فایلی از تابع fclose به فرمت زیر استفاده می شود.

fclose(اشاره گر فایل);

مثال: برنامه ای بنویسید که یک رشته را از ورودی خوانده و در فایل c://ff.txt جستجو کند و تعداد تکرار رشته خوانده شده را چاپ کند.


#include <iostream>
#include <conio.h>
void main(void)
{
 file *fp;
 char str[10], c=0;
 int i,l,t;
 cin>>str;
 fp=fopen("c:\\ff.txt","rt");
 l=stelen(str);
 i=0;
 while(c!=eof)
 {
  c=getc(fp);
  if(c==tr[i]);
  {
   i++;
   if(i==l)
   {
    t++;
    i=0;
   }
  }
  else
   i=0;
 }
 cout<<t;
 getch();
}