一、CFile簡(jiǎn)介
CFile是MFC Library中常用的文件讀寫(xiě)類。它可以打開(kāi)、關(guān)閉、創(chuàng)建、寫(xiě)入和讀取文件。CFile可以讀寫(xiě)二進(jìn)制文件和文本文件。使用CFile需要包含頭文件“afx.h”和“file.h”,其中“file.h”定義了CFile類。
二、打開(kāi)、關(guān)閉、創(chuàng)建文件
在使用CFile讀寫(xiě)文件時(shí),首先需要打開(kāi)文件。打開(kāi)文件包括讀取和寫(xiě)入兩個(gè)操作。在打開(kāi)文件前需要知道文件的路徑、名稱和操作類型。文件路徑可以包含相對(duì)路徑和絕對(duì)路徑。CFile支持的操作類型有:CFile::modeRead只讀模式;CFile::modeWrite寫(xiě)模式,不保留原文件內(nèi)容;CFile::modeReadWrite讀寫(xiě)模式,不保留原文件內(nèi)容;CFile::modeCreate創(chuàng)建文件;CFile::modeNoTruncate文件已存在則不清空原有數(shù)據(jù),只在原有數(shù)據(jù)后追加數(shù)據(jù);CFile::modeNoInherit文件不能被繼承。
// 打開(kāi)一個(gè)文件,讀寫(xiě)模式,文件已存在,如果沒(méi)有文件則創(chuàng)建 CFile file(L"C:\\example.txt", CFile::modeReadWrite | CFile::modeCreate); // 關(guān)閉文件 file.Close();
三、讀取文件內(nèi)容
在打開(kāi)文件讀取操作后,可以使用Read()或ReadHuge()函數(shù)來(lái)讀取文件的內(nèi)容。Read()函數(shù)可以一次讀取指定長(zhǎng)度的數(shù)據(jù),ReadHuge()函數(shù)適用于讀取大文件。
Read()函數(shù):
// 打開(kāi)文件,讀模式 CFile file(L"C:\\example.txt", CFile::modeRead); // 讀取文件中的內(nèi)容 BYTE buffer[1024]; int nLength = file.Read(buffer, 1024); // 關(guān)閉文件 file.Close();
ReadHuge()函數(shù):
// 打開(kāi)文件,讀模式 CFile file(L"C:\\example.txt", CFile::modeRead | CFile::typeBinary); // 讀取文件中的內(nèi)容,文件大小為2GB BYTE* buffer = new BYTE[2147483648]; int nLength = file.ReadHuge(buffer, 2147483648); // 關(guān)閉文件 file.Close(); delete[] buffer;
四、寫(xiě)入文件內(nèi)容
在打開(kāi)文件寫(xiě)入操作后,可以使用Write()或WriteHuge()函數(shù)來(lái)寫(xiě)入文件的內(nèi)容。Write()函數(shù)可以一次寫(xiě)入指定長(zhǎng)度的數(shù)據(jù),WriteHuge()函數(shù)適用于寫(xiě)入大文件。
Write()函數(shù):
// 打開(kāi)文件,寫(xiě)模式 CFile file(L"C:\\example.txt", CFile::modeWrite); // 寫(xiě)入文件中的內(nèi)容 BYTE buffer[1024]; int nLength = file.Write(buffer, 1024); // 關(guān)閉文件 file.Close();
WriteHuge()函數(shù):
// 打開(kāi)文件,寫(xiě)模式 CFile file(L"C:\\example.txt", CFile::modeWrite | CFile::typeBinary); // 寫(xiě)入文件中的內(nèi)容,文件大小為2GB BYTE* buffer = new BYTE[2147483648]; int nLength = file.WriteHuge(buffer, 2147483648); // 關(guān)閉文件 file.Close(); delete[] buffer;
五、其他常見(jiàn)操作
六、總結(jié)
CFile是MFC Library中常用的文件讀寫(xiě)類。通過(guò)本文的介紹,我們可以了解到如何打開(kāi)、關(guān)閉、創(chuàng)建文件,如何讀取和寫(xiě)入文件內(nèi)容,以及如何進(jìn)行其他常見(jiàn)操作。