ورود

View Full Version : سوال: تابع open در ویژوال استادیو 2010 چگونه استفاده می شود؟



farshchian2090
یک شنبه 03 شهریور 1392, 21:24 عصر
با سلام خدمت همه دوستان .
من چند وقته که تو یکی از برنامه هام میخوام فایلی رو باز کنم. وقتی تو محیط consol کد نویسی میکنی تابع open به صورت زیر استفاده میشه:

;fstrem f


f.open("test.doc") ;o

ولی وقتی در محیط MFC می خوای کد بنویسی اول باید یک شی از رده CFile ایجاد کنی ولی دیگه تابع open به شکل بالا استفاده نمیشه یعنی یک پارامتر دیگه از نوع UINT باید بهش بدی . منم دقیقا نمی دونم این پارامتر دومش واسه چیه؟ اگر هم وارد نکنی برنامه کامپایل نمیشه. کسی می دونه این تابع تو VC++ چه جوری تعریف میشه؟

farshchian2090
دوشنبه 04 شهریور 1392, 17:22 عصر
لطفا یک نفر جواب منو بده. فکر نکنم سوال اونقدر سخت باشه ها؟؟؟؟!!!!!:متفکر::متفکر::نارا حت:

saied_hacker
دوشنبه 04 شهریور 1392, 19:32 عصر
شما باید از این تابع استفاده کنی :
virtual BOOL Open(
LPCTSTR lpszFileName,
UINT nOpenFlags,
CFileException* pError = NULL
);


lpszFileName : نام و ادرس فایل هست برای مثال :
_T("C:\\myfilename.txt")

nOpenFlags هم فلگ های مربوط به چگونگی باز کردن یا رفتار ( نوع دسترسی ) با فایل هست که میتونه حالت های زیر رو در بر بگیره ( به همراه یکسری دیگر که الان لازم نیست ) که از اسم هاشون مشخه چه کار می کنند:
CFile::modeRead
CFile::modeWrite
CFile::modeReadWrite



pError : یک اشاره گر از نوع CFileException هست که اختیاری هست و برای دریافت خطای رخ داده هست اگر خطایی هنگام باز کردن فایل پیش بیاد در این متغیر ذخیره میشه ...


مثال :
myFile.Open(_T("c:\\text.txt"), CFile::modeReadWrite);

farshchian2090
سه شنبه 05 شهریور 1392, 11:50 صبح
یعنی تنها نکته این تابع همون T_ در پارامتر اول بود؟ واقعا ازت ممنونم کمک بزرگی کردی.:قهقهه::قهقهه::تشویق::تش ویق: