เสมือน BOOL เปิด ( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException * pError = NULL );
ส่งกลับค่า
ไม่ใช่ศูนย์ถ้าเปิดเสร็จสมบูรณ์ 0 อื่น พารามิเตอร์pErrorมีความหมายเฉพาะในกรณีที่ส่งกลับค่า 0?
พารามิเตอร์
lpszFileName
สายอักขระที่มีเส้นทางไปยังแฟ้มที่ต้องการ เส้นทางสามารถเป็นญาติ สัมบูรณ์ หรือชื่อเครือข่าย (UNC)?
nOpenFlags
การUINTที่กำหนดโหมดใช้ร่วมกันและการเข้าถึงแฟ้ม จะระบุการกระทำที่จะปฏิบัติการเมื่อคุณเปิดแฟ้ม คุณสามารถรวมตัวเลือก โดยใช้ตัวดำเนินการ OR ระดับบิต (|) สิทธิ์การเข้าถึงที่หนึ่งและตัวเลือกการใช้ร่วมกันหนึ่งจำเป็นต้องใช้ โหมดการmodeCreateและmodeNoInheritหรือไม่ก็ ดูการกำหนดCFileสำหรับรายการของตัวเลือกโหมด?
pError
ตัวชี้ไปยังแฟ้มข้อยกเว้นวัตถุที่มีอยู่แล้วที่จะได้รับข้อความแสดงสถานะของการดำเนินการล้มเหลว?
หมายเหตุ
เปิดถูกออกแบบมาสำหรับใช้กับการกำหนดCFileเริ่มต้น ฟังก์ชันสองฟอร์มวิธีสำหรับการเปิดแฟ้มที่ความล้มเหลวคือ เงื่อนไขปกติ คาด "ปลอดภัย"?
ในขณะที่ตัวสร้างCFileจะโยนข้อยกเว้นในสภาวะข้อผิดพลาดเปิดจะกลับเป็น FALSEสำหรับเงื่อนไขข้อผิดพลาด เตรียมเปิดสามารถยังคงใช้วัตถุCFileExceptionในการอธิบายข้อผิดพลาด อย่างไรก็ตาม ถ้าคุณไม่ต้องใส่พารามิเตอร์pErrorหรือ ถ้าคุณส่งผ่านค่า NULLสำหรับpErrorเปิดจะกลับเป็น FALSEและโยนแบบCFileExceptionไม่ ถ้าคุณส่งตัวชี้ไปยังมีอยู่CFileExceptionและเปิดเกิดข้อผิดพลาด ฟังก์ชันจะกรอกข้อมูลนั้น ด้วยข้อมูลที่อธิบายข้อผิดพลาดที่ ในกรณีไม่ จะเปิดโยนข้อยกเว้น?
ตารางต่อไปนี้อธิบายถึงผลลัพธ์เป็นไปได้ของการเปิด?
pError | พบข้อผิดพลาด? | ส่งกลับค่า | CFileException เนื้อหา |
ค่า NULL | ไม่ใช่ | จริง | n/a |
ptr ไปCFileException | ไม่ใช่ | จริง | ไม่เปลี่ยนแปลง |
ค่า NULL | ใช่ | เท็จ | n/a |
ptr ไปCFileException | ใช่ | เท็จ | เตรียมใช้งานจะอธิบายข้อผิดพลาด |
ตัวอย่าง
//example สำหรับ CFile::Open
CFile f
CFileException e
char * pFileName = "test.dat"
ถ้า (! f.Open (pFileName, CFile::modeCreate | CFile::modeWrite แอมป์ e))
{
#ifdef _DEBUG
afxDump << "ไม่สามารถเปิดแฟ้ม" << e.m_cause << "\n"
#endif
}
ภาพรวม CFile |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCFile::CFile, CFile::Close(&N)