بخشی از پاورپوینت
اسلاید 1 :
عمليات مهم پردازش فايل
به نام خدا
اسلاید 2 :
فايل ( File ) چِيست ؟
مجموعه اي از داده ها ( Data ) ميباشد ،
که بطور واحد بوسيله سيستم عامل ((Operating System قابل شناسايي و مديريت است.
هر فايل يک واحد مستقل و پايدار (Persistent) از داده ها ميباشد.
عمليات مهم پردازش فايل
اسلاید 3 :
فايل فيزيکی و فايل منطقی
فايل فيزيکی: مجموعه ای از بايتها است که روی ديسک يا نوار ذخيره شده اند. يک ديسک ممکن است حاوی صدها و حتی هزاران فايل فيزيکی باشد.
فايل منطقی: از ديد برنامه کاربردی فايل مانند يک کانال دارای نام است که بايتها در آن ريخته شده يا از آن خوانده ميشوند.
برای استفاده از يک فايل فيزيکی بايد يک کانال منطقی از برنامه کاربردی به آن فايل فيزيکی برقرار شود،
اين کانال منطقی هنگام باز کردن فايل با دستور open ايجاد ميشود و پس از خاتمه کار با دستور close از بين ميرود
اسلاید 4 :
يک برنامه نمونه
ميخواهيم برنامه ای بنويسيم که محتويات يک فايل را روی صفحه نمايش نشان دهد:
در ابتدا فايل را برای خواندن باز ميکنيم
تا زمانيکه کاراکترهايي برای خواندن وجود داشته باشد:
يک کاراکتر از فايل ميخوانيم
آن کاراکتر را روی صفحه نمايش چاپ ميکنيم
فايل را ميبنديم
اسلاید 5 :
برنامه نمونه
در زبان C:
#include
void main(){
char ch;
FILE * infile;
infile = fopen("A.txt", "r");
while (fread(&ch , 1, 1, infile )!= 0 )
fwrite(&ch , 1, 1,stdout );
fclose(infile );
}
اسلاید 6 :
در زبان C++:
#include
int main(){
char ch;
fstream infile;
infile.open("A.txt ", ios::in);
infile.unsetf(ios::skipws);
while (1) {
infile>>ch;
if(infile.fail()) break;
cout << ch;
}
infile.close ();
return 0;
}
برنامه نمونه
اسلاید 7 :
باز کردن فايلها در C
با استفاده از دستور fopen انجام ميشود:
infile = fopen("A.txt", "r");
پارامتر اول نام فيزيکی فايل و
پارامتر دوم مد باز کردن فايل ميباشدکه:
r برای خواندن
w برای نوشتن ( در صورت موجود نبودن فايل آنرا ايجاد ميکند)
a برای افزودن به انتهای فايل ( در صورت موجود نبودن فايل آنرا ايجاد ميکند)
r+ برای خواندن و نوشتن يک فايل موجود
w+ برای ايجاد و خواندن و نوشتن (اگر فايل از قبل داده داشته باشد آن داده ها از بين خواهد رفت)
اسلاید 8 :
با استفاده از متد open از کلاس fstream انجام ميشود:
fstream infile;
infile.open("A.txt ", ios::in);
پارامتر اول نام فيزيکی فايل و
پارامتر دوم مد باز کردن فايل ميباشد
باز کردن فايلها در C++
اسلاید 9 :
مد باز کردن فايل در C++:
ios::in برای خواندن
ios::out برای نوشتن
ios::app برای افزودن به انتهای فايل
ios::trunc برای ايجاد يک فايل جديد
ios::nocreate اگر فايل از قبل وجود نداشته باشد پيام خطا ايجاد ميکند
ios:noreplace يک فال جديد ايجاد ميکند اما اگر فايل از قبل وجود داشته باشد پيام خطا ايجاد ميکند
باز کردن فايلها در C++
اسلاید 10 :
بستن فايل
در زبان C:
fclose(infile);
در C++ :
Infile.close();
اسلاید 11 :
خواندن از فايل در زبان C
با دستور fread انجام ميشود:
fread(ptr, size, n, file);
با اجرای دستور بالا n ايتم size بايتی از file خوانده شده و در ptr کپی ميشود.
مثال:
fread(&ch, 1, 1, infile);
اسلاید 12 :
مثال:
infile>>ch;
استفاده از read:
infile.read(&ch,1);
خواندن از فايل در زبان ++C
اسلاید 13 :
نوشتن در فايل در زبان C
با دستور fwrite انجام ميشود:
fwrite(ptr, size, n, file);
با اجرای دستور بالا n ايتم size بايتی از ابتدای ptr در file نوشته ميشود.
مثال:
fwrite(&ch, 1, 1, outfile);
اسلاید 14 :
مثال:
outfile>>ch;
استفاده از write:
outfile.write(&ch,1);
نوشتن در فايل در زبان ++C
اسلاید 15 :
تشخيص انتهای فايل
در C تابع fread در صورت رسيدن به انتهای فايل مقدار 0 برميگرداند
در C++ همانطور که در مثال ديديم از fstream::fail() استفاده ميشود. اين تابع در صورت رسيدن به انتهای فايل true بر ميگرداند.
اسلاید 16 :
تمرين
برنامه ای بنويسيد که محتويات يک فايل را در فايل جديدی کپی کند