使用MFC應(yīng)用程序讀取文本文件
新建一個(gè)基于對(duì)話框的應(yīng)用程序,工程名為RWTextFile。添加按鈕和編輯框在對(duì)話框中添加三個(gè)按鈕和兩個(gè)編輯框,如下圖所示。設(shè)置編輯框?qū)傩詫?duì)需要輸入或顯示文件內(nèi)容的編輯框,設(shè)置Multiline屬性為
新建一個(gè)基于對(duì)話框的應(yīng)用程序,工程名為RWTextFile。
添加按鈕和編輯框
在對(duì)話框中添加三個(gè)按鈕和兩個(gè)編輯框,如下圖所示。
設(shè)置編輯框?qū)傩?/h2>
對(duì)需要輸入或顯示文件內(nèi)容的編輯框,設(shè)置Multiline屬性為true,以便能夠顯示多行文本。
寫(xiě)入文件功能
為"寫(xiě)入文件"按鈕添加響應(yīng)函數(shù)OnWrite(),在該函數(shù)中添加以下代碼:
```cpp
void CRWTextFileDlg::OnWrite()
{
UpdateData(true);
CString strFilter, fileName, strText;
strFilter _T("Text Files(*.txt)|*.txt||");
CFileDialog dlg(FALSE, NULL, NULL, OFN_EXPLORER | OFN_HIDEREADONLY | OFN_ENABLESIZING | OFN_FILEMUSTEXIST, strFilter);
if (() IDOK)//顯示保存文件對(duì)話框
{
fileName ();
CFile savefile(fileName, CFile::modeCreate | CFile::modeWrite);//構(gòu)造CFile對(duì)象
savefile.Write(m_strWrite, m_());//寫(xiě)文件數(shù)據(jù)
();//關(guān)閉文件
}
}
```
讀取文件功能
為"讀取文件"按鈕添加響應(yīng)函數(shù)OnRead(),在該函數(shù)中添加以下代碼:
```cpp
void CRWTextFileDlg::OnRead()
{
CString strFilter, fileName;
strFilter _T("Text Files(*.txt)|*.txt||");
CFileDialog dlg(TRUE, NULL, NULL, OFN_EXPLORER | OFN_HIDEREADONLY | OFN_ENABLESIZING | OFN_FILEMUSTEXIST, strFilter);
if (() IDOK)//顯示打開(kāi)文件對(duì)話框
{
fileName ();
CFile openfile(fileName, CFile::modeRead);//構(gòu)造CFile對(duì)象
int length ();//獲取文件長(zhǎng)度
char *strText;
strText new char[length];
(strText, length);
();//關(guān)閉文件
m_strRead (CString)strText;
delete [] strText;
UpdateData(false);
}
}
```
運(yùn)行程序
完成以上步驟后,運(yùn)行程序即可實(shí)現(xiàn)對(duì)文本文件的讀取功能。用戶(hù)可以通過(guò)點(diǎn)擊"寫(xiě)入文件"按鈕將編輯框中的內(nèi)容寫(xiě)入到指定的文件中,或者通過(guò)點(diǎn)擊"讀取文件"按鈕將指定文件中的內(nèi)容顯示在編輯框中。