CFile::Open

เสมือน 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)

Index