آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – فایل ها – قسمت اول

در این مقاله قصد آموزش چگونگی خواندن متن از یک فایل را داریم.
برنامه های مورد نظرمان برای کار با فایل در ++Turbo C ایجاد می شوند.
چون فایل ها در هارد ذخیره شده اند پس برای خواندن آن باید یک متغیر از نوع فایل که به صورت اشاره گر هست ایجاد کنیم سپس با آن میتوانیم دستوراتمان را بر روی فایل مورد نظر اعمال کنیم.

مسیر های فایل

ابتدا در مورد مسیرهای فایل بحث می کنیم.
هر فایل دو مسیر برای اجرا دارد:
۱- نسبی
۲- مطلق
مسیر مطلق به مسیری می گویند که از مقصد اصلیمان باشد.
مثال: فایلی با نام a.txt در درایو C در پوشه ۱ در پوشه ی ۲ قرار دارد.
فرض کنید ما پوشه ای را باز نکرده ایم و در desktop سیستم هستیم یا در درایو D هستیم.
مسیر مطلق برای دستیابی به فایل a.txt:

C:\1\2\a.txt

چون مقصد اصلیمان از یکی از درایو های کامپیوتر شروع می شود پس باید به این صورت باشد که در مسیر بالا می بینید.

مسیر نسبی:

حالا فرض کنید ما در درایو C و پوشه ی ۱ باشیم.
مسیر فعلی ما:

C:\1\

مسیر نسبی مسیری است که نسبت به مکان فعلی ما داده می شود.
طبق تعریف بالا مسیر نسبی برای دستیابی به فایل a.txt این است:

\۲\a.txt

وقتی برنامه ی توربو را باز می کنید این برنامه در این مسیر باز می شود ( مسیر پیش فرض در هنگام نصب برنامه ) :

C:\TurboC++\Disk\TurboC3\BIN

حالا فرض کنید فایلی با نام a.txt در این پوشه BIN که برنامه ی توربو در آن باز می شود داریم
مسیر های دستیابی به فایل از طریق برنامه نویسی در توربو :

مسیر مطلق:

C:\TurboC++\Disk\TurboC3\BIN\a.txt

نسبی:

a.txt

چون برنامه ی توربو در دایرکتوری BIN اجرا می شود و هم فایل ما در این پوشه قرار دارد پس نیازی نیست که مسیری به برنامه دهیم.
نکته: در برنامه نویسی در زبان ++C و اکثر زبان های برنامه نویسی دیگر می توانید از هر دو نوع مسیر دهی استفاده کنید.
مثال: ابتدا در پوشه ی BIN یک فایل با نام a.txt ایجاد کنید و این متن را در آن بنویسید hello world سپس با استفاده از برنامه نویسی در ++Turbo C متن فایل را بخوانید.

خروجی: کاراکتر h
توضیحات: ما ابتدا یک متغیر از نوع FILE ( برای استفاده از آن باید هدر فایل stdio.h را به برنامه اضافه کنید ) به صورت اشاره گر برای اشاره به فایل ایجاد می کنیم.
نکته: دقت کنید که FILE حتما با حروف بزرگ باشد.
سپس با استفاده از تابع fopen فایل را باز می کنیم.
آراگومان های تابع fopen :
۱- مسیر فایل : هم می تواند مطلق باشد و هم نسبی
۲- مد استفاده از فایل را نشان می دهد : چون ما فعلا می خواهیم فقط از فایل بخوانیم پس از r که مخفف read است استفاده می کنیم.
چون در فایل متن است پس یک متغیر از نوع char ایجاد می کنیم.

توضیح کد بالا : تابع fgetc یک کاراکتر از فایل مورد نظر می خواند. آرگومان آن هم متغیر fp است که فایلمان را با آن باز می کنیم.
ما هم در این خط کد یک کاراکتر از فایلمان می خوانیم و آن را در متغیر ch قرار می دهیم و در خط بعد هم آن را با cout نمایش دادیم.
حالا این کد را امتحان می کنیم:

خروجی:
file1

توضیحات: در این حالت ما دو کاراکتر را از فایل خواندیم.
حالا مشکل ما اینجا است که برای خواندن تمام کاراکتر ها چکار کنیم ( شاید یک متن هزار خطی باشد ).
خب پس ما نمیدانیم که فایلمان چند کاراکتری است و در این موارد ما از حلقه ی while استفاده می کنیم.
خب می رسیم به شرط حلقه:
در آخر متن هر فایل یک کاراکتر End Of File) EOF ) قرار دارد که ما آن را نمیبینیم و این کاراکتر برای آن است که سیستم متوجه شود متن فایل به پایان رسیده است.
برنامه جدید برای خواندن تمام متن داخل فایل a.txt :

خروجی:
hello world
توضیحات: تابع feof که آرگومان آن متغیری است که به فایل اشاره می کند در هر دوره یک کاراکتر از فایل می خواند که اگر کاراکتر برابر با EOF نبود صفر را و اگر بود یک را برمیگرداند.
نکته: می توانیم به جای NULL از صفر استفاده کنیم.
ادامه ی توضیحات: تابع در ابتدا کاراکتر h را می گیرد و صفر را برمی گرداند و چون صفر با NULL یا صفر برابر است پس شرط داخل while درست است و حالا وارد بلوک حلقه ی while می شویم : گرفتن یک کاراکتر از فایل و نمایش آن.
این روند تا کاراکتر EOF که در آخر متن قرار دارد ادامه می یابد و در آخر تابع feof کاراکتر EOF را می گیرد و ۱ را برمی گرداند و چون ۱ با صفر یا NULL برابر نیست حلقه شکسته می شود و در آخر هم تابع fclose را داریم که فایل را می بندد.

1 دیدگاه در “آموزش برنامه نویسی ++C – فایل ها – قسمت اول

پاسخ دهید

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