MFC - I / O มาตรฐาน

ไลบรารี MFC มีการประมวลผลไฟล์ในเวอร์ชันของตัวเอง สิ่งนี้ทำได้ผ่านคลาสชื่อ CStdioFile คลาส CStdioFile มาจาก CFile สามารถจัดการการอ่านและการเขียนไฟล์ข้อความ Unicode รวมทั้งไฟล์ข้อความหลายไบต์ธรรมดา

นี่คือรายการของตัวสร้างที่สามารถเริ่มต้นวัตถุ CStdioFile -

CStdioFile();
CStdioFile(CAtlTransactionManager* pTM);
CStdioFile(FILE* pOpenStream);
CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags);
CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags, CAtlTransactionManager* pTM);

นี่คือรายการวิธีการใน CStdioFile -

ซีเนียร์ ชื่อและคำอธิบาย
1

Open

มากเกินไป Open ถูกออกแบบมาเพื่อใช้กับตัวสร้าง CStdioFile เริ่มต้น (แทนที่ CFile :: Open)

2

ReadString

อ่านข้อความบรรทัดเดียว

3

Seek

วางตำแหน่งตัวชี้ไฟล์ปัจจุบัน

4

WriteString

เขียนข้อความบรรทัดเดียว

ให้เราดูตัวอย่างง่ายๆอีกครั้งโดยการสร้างแอปพลิเคชันที่ใช้ไดอะล็อก MFC ใหม่

Step 1 - ลากปุ่มควบคุมการแก้ไขหนึ่งปุ่มและปุ่มสองปุ่มตามที่แสดงในภาพรวมต่อไปนี้

Step 2 - เพิ่มตัวแปรค่า m_strEditCtrl สำหรับการควบคุมการแก้ไข

Step 3 - เพิ่มตัวจัดการเหตุการณ์คลิกสำหรับปุ่มเปิดและบันทึก

Step 4 - นี่คือการใช้งานตัวจัดการเหตุการณ์

void CMFCStandardIODlg::OnBnClickedButtonOpen() {
   
   // TODO: Add your control notification handler code here
   UpdateData(TRUE);

   CStdioFile file;
   file.Open(L"D:\\MFCDirectoryDEMO\\test.txt", CFile::modeRead | CFile::typeText);
   
   file.ReadString(m_strEditCtrl);
   file.Close();
   UpdateData(FALSE);
}

void CMFCStandardIODlg::OnBnClickedButtonSave() {
   
   // TODO: Add your control notification handler code here
   UpdateData(TRUE);
   CStdioFile file;
   if (m_strEditCtrl.GetLength() == 0) {

      AfxMessageBox(L"You must specify the text.");
      return;
   }
   file.Open(L"D:\\MFCDirectoryDEMO\\test.txt", CFile::modeCreate |
      CFile::modeWrite | CFile::typeText);
   file.WriteString(m_strEditCtrl);
   file.Close();
}

Step 5 - เมื่อโค้ดด้านบนถูกคอมไพล์และดำเนินการคุณจะเห็นผลลัพธ์ต่อไปนี้

Step 6- เขียนอะไรบางอย่างแล้วคลิกบันทึก มันจะบันทึกข้อมูลในไฟล์ * .txt

Step 7 - หากคุณดูตำแหน่งของไฟล์คุณจะเห็นว่ามีไฟล์ test.txt

Step 8- ตอนนี้ปิดแอปพลิเคชัน เรียกใช้แอปพลิเคชันเดียวกัน เมื่อคุณคลิกเปิดข้อความเดิมจะโหลดอีกครั้ง

Step 9 - เริ่มต้นด้วยการเปิดไฟล์อ่านไฟล์ตามด้วยการอัปเดต Edit Control