وبلاگ من

۱ مطلب در فروردين ۱۳۹۶ ثبت شده است

کار با فایل _ 1

جمعه, ۲۵ فروردين ۱۳۹۶، ۰۶:۵۶ ب.ظ

ابتدا هدر <fstream> را لحاظ (include) می کنیم ، ofstream (مانند cout) وظیفه نوشتن در فایل را برعهده دارد ifstream (مانند cin) وظیفه خواندن

-----------------------------------------------------------------------------------------------------

ofstream ou;
ou.open("Test.bin",ios::binary|ios::out);


می توان به صورت زیر نوشت :


ofstream ou("Test.bin",ios::binary|ios::out);


-----------------------------------------------------------------------------------------------------


برای یک کاراکتر:

ou.put( character );
in.get( character );


-----------------------------------------------------------------------------------------------------


برای نوشتن در فایل متنی :

ou << "Your Text";
in >> INT_Parameter;


 -----------------------------------------------------------------------------------------------------


برای ذخیره یک رکورد

ou.write((char *)&s,sizeof(s));
in.read((char *)&s,sizeof(s));

s یک متغییر از نوع struct  است میتوان به جای آن از (s , student , student s) در واقع در تابع sizeof قرار می گیرد که اندازه متغییر ی که ذخیره می شود را بدست می آورد ، &s  هم می گوید که از کدام متغییر خواننده یا در آن نوشته شود


-----------------------------------------------------------------------------------------------------


تابع ignore

تابع ifstream می باشد و هنگام خواندن به به اندازه فضای مشخص شده را نادیده می گیرد پیش فرض یک بایت ... می توان با قرار دادن یک کاراکتر مشخص کرد تا آن کاراکتر را نادیده بگیرد


in.ignore( 8 , '\n' );


-----------------------------------------------------------------------------------------------------


توابع seekp و tellp


کدر زیر نشانگر خواندن را به انتهای فایل و به اندازه صفر بایت می برد

in.seekg(0,ios::end);

کد زیر هم محل نشانگر را نشان میدهد که از ابتدا چند بایت فاصله گرفته است ... برای مثال اگر کد زیر را در ادامه ی کد بالا بنویسیم مقداری که tellg بر می گرداند فایلی است که in خوانده است:

in.tellg()




  • مرتضی رحیم زاده