CFile( );
CFile ( int hFile );
CFile ( LPCTSTR lpszFileName, UINT nOpenFlags );
โยน ( CFileException );
พารามิเตอร์
hFile
หมายเลขอ้างอิงของแฟ้มที่เปิดอยู่?
lpszFileName
สายอักขระที่มีเส้นทางไปยังแฟ้มที่ต้องการ เส้นทางสามารถเป็นญาติ หรือแบบสัมบูรณ์?
nOpenFlags
โหมดการเข้าถึงและการใช้ร่วมกัน ระบุการกระทำที่จะปฏิบัติการเมื่อคุณเปิดแฟ้ม คุณสามารถรวมตัวเลือกที่แสดงอยู่ด้านล่าง โดยใช้ตัวดำเนินการ OR ระดับบิต (|) สิทธิ์การเข้าถึงที่หนึ่งและตัวเลือกการใช้ร่วมกันหนึ่งจำเป็นต้องใช้ โหมดการmodeCreateและmodeNoInheritหรือไม่ก็ มีค่าดังนี้:
หมายเหตุ
การกำหนดค่าเริ่มต้นไม่เปิดแฟ้ม แต่แทนที่จะ ตั้งค่าm_hFileเป็นCFile::hFileNull เพราะตัวสร้างนี้โยนข้อยกเว้น มันไม่เหมาะสมจะใช้ลอง/ ตรรกะที่จับ ใช้ฟังก์ชันสมาชิกเปิดแล้วทดสอบสำหรับข้อยกเว้นเงื่อนไขได้โดยตรง สำหรับการสนทนาของกลยุทธ์ในการประมวลผลข้อยกเว้น ให้ดูบทความ ข้อยกเว้นในVisual c ++ Programmer ของคำแนะนำ?
การกำหนด ด้วยอาร์กิวเมนต์หนึ่งสร้างวัตถุCFileที่สอดคล้องกับแฟ้มระบบปฏิบัติการอยู่ระบุโดยhFile ไม่มีเครื่องทำบนชนิดโหมดหรือแฟ้มของ access เมื่อมีทำลายวัตถุCFileแฟ้มระบบปฏิบัติการจะไม่ถูกปิด คุณต้องปิดแฟ้มด้วยตัวคุณเอง?
การกำหนด ด้วยอาร์กิวเมนต์ที่สองสร้างวัตถุCFileและเปิดแฟ้มระบบปฏิบัติการที่สอดคล้องกันกับเส้นทางที่กำหนด ตัวสร้างนี้รวมฟังก์ชันของพารามิเตอร์ตัวแรกและฟังก์ชันสมาชิกเปิด มันผิดข้อยกเว้นถ้ามีข้อผิดพลาดขณะกำลังเปิดแฟ้ม โดยทั่วไปแล้ว ซึ่งหมายความ ว่า ข้อผิดพลาดกู้คืนไม่ได้ และที่ ควรมีการแจ้งเตือนผู้ใช้?
ตัวอย่าง
//example สำหรับ CFile::CFile
char * pFileName = "test.dat"
ลอง
{
CFile f (pFileName, CFile::modeCreate | CFile::modeWrite);
}
จุดอ่อน (CFileException, e)
{
#ifdef _DEBUG
afxDump lt; < "ไม่สามารถเปิดแฟ้ม" << e-> m_cause << "\n"
#endif
}
END_CATCH
ภาพรวม CFile |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)