فایل ها در زبان c
برای استفاده از فایل ها در زبان c باید به نکات زیر توجه کرد:
- مدیریت فایل ها در اختیار سیستم عامل می باشد پس باید از سیستم عامل اجاره استفاده از فایل را دریافت کنیم.
- فایل ها را ابتدا باید باز کرد
- سپس می توان با توجه به عملیات دلخواه ,اطلاعاتی را از فایل خوانده و یا در آن نوشت.
- در انتها نیز باید فایل را بست
- پس باید مکانیزمی برای شناسایی محل فایل روی حافظه مشخص کرد .برای این کار از اشاره گر فایل استفاده می شود.
- اشاره گر فایل آدرس محل فایل را تعیین می کند.
بازکردن فایل
برای بازکردن فایل از تابع ()fopen استفاده می گردد. این تابع که در فایل stdio.h قرار دارد به صورت زیر به کار می رود:
; ( ” نوع ” ,” نام فایل “)fopen = اشاره گر فایل
در این الگو , نام فایل به رشته ای اشاره می کند که حاوی نام فایل و محل تشکیل یا وجود آن است . نام فایل داده از قانون نام گذاری فایل برنامه تبعیت می کند و شامل دو قسمت نام و پسوند است . بهتر است پسوند فایل داده , dat انتخاب شود . محل تشکیل یا وجود فایل می تواند شامل نام درایو و یا هر مسیر موجود روی دیسک باشد (یعنی آدرس کامل فایل در سیستم عامل). نوع مشخص می کند که فایل چگونه باید باز شود (ورودی , خروجی و یا ورودی-خروجی)
نوع (mode):
برای باز کردن فایل باید یک اشاره گر نوع فایل تعریف گردد تا به فایلی که نوسط تابع fopen باز می شود اشاره نماید. اگر فایل به دلایلی باز نشود این اشاره گر برابر با NULL خواهد بود. مثال:
FILE ∗fp ;
fp = fopen (“c:\\test.dat” , “w” ) ;
برای تشخیص این که آیا فایل با موفقیت باز شده است یا خیر می توان اشاره گر فایل را با NULL مقایسه کرد. اگر فایل برابر با NULL باشد بدین معنی است که فایل باز نشده است:
بستن فایل
پس از اینکه برنامه نویس کارش را با فایل تمام کرد ,باید آن را ببندد. بستن فایل توسط تابع ()fclose انجام می شود که به صورت زیر مورد استفاده قرار می گیرد:
;(اشاره گر فایل)fclose
مثال : (fclose(fp
این دستور فایلی را که fp به آن اشاره می کند , می بندد.
اگر چندین فایل به طور همزمان در برنامه باز باشند می تاون آن ها را با تابع ()fcloseall بست .
مطالب خلاصه و مفید بود اینچنین سایت های اموزشی و فارسی زبان متاسفانه کمه لطفا مطالب بیشتری بذارید
عالی بود توضیحات فقط اگر تفاوت scanfوfscanfرو بهش اضافه کنید کاملتر میشه
سلام ببخشید من برای باز کردن فایل همین کارو می کنم ولی با ارور undefined reference to `fopen’ مواجه می شوم ممنون میشم کمک کنید.
چرا باید پس از استفاده از فایل آن را بست ؟