فایل ها در زبان c


برای استفاده از فایل ها در زبان c باید به نکات زیر توجه کرد:

  • مدیریت فایل ها در اختیار سیستم عامل می باشد پس باید از سیستم عامل اجاره استفاده از فایل را دریافت کنیم.
  1. فایل ها را ابتدا باید باز کرد
  2. سپس می توان با توجه به عملیات دلخواه ,اطلاعاتی را از فایل خوانده و یا در آن نوشت.
  3. در انتها نیز باید فایل را بست
  • پس باید مکانیزمی برای شناسایی محل فایل روی حافظه مشخص کرد .برای این کار از اشاره گر فایل استفاده می شود.
  • اشاره گر فایل آدرس محل فایل را تعیین می کند.

بازکردن فایل


برای بازکردن فایل از تابع ()fopen استفاده می گردد. این تابع که در فایل stdio.h قرار دارد به صورت زیر به کار می رود:

; ( ” نوع ” ,” نام فایل “)fopen = اشاره گر فایل

در این الگو , نام فایل به رشته ای اشاره می کند که حاوی نام فایل و محل تشکیل یا وجود آن است . نام فایل داده از قانون نام گذاری فایل برنامه تبعیت می کند و شامل دو قسمت نام و پسوند است . بهتر است پسوند فایل داده , dat انتخاب شود . محل تشکیل یا وجود فایل می تواند شامل نام درایو و یا هر مسیر موجود روی دیسک باشد (یعنی آدرس کامل فایل در سیستم عامل). نوع مشخص می کند که فایل چگونه باید باز شود (ورودی , خروجی و یا ورودی-خروجی)

نوع (mode):

برای باز کردن فایل باید یک اشاره گر نوع فایل تعریف گردد تا به فایلی که نوسط تابع fopen باز می شود اشاره نماید. اگر فایل به دلایلی باز نشود این اشاره گر برابر با NULL خواهد بود. مثال:

FILE ∗fp ;

fp = fopen (“c:\\test.dat” , “w” ) ;

برای تشخیص این که آیا فایل با موفقیت باز شده است یا خیر می توان اشاره گر فایل را با NULL مقایسه کرد. اگر فایل برابر با NULL باشد بدین معنی است که فایل باز نشده است:

بستن فایل


پس از اینکه برنامه نویس کارش را با فایل تمام کرد ,باید آن را ببندد. بستن فایل توسط تابع ()fclose انجام می شود که به صورت زیر مورد استفاده قرار می گیرد:

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

مثال : (fclose(fp

این دستور فایلی را که fp به آن اشاره می کند , می بندد.

اگر چندین فایل به طور همزمان در برنامه باز باشند می تاون آن ها را با تابع ()fcloseall بست .

1 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *