前言
各位师傅大家好,我是qmx_07,今天给大家讲解MFC中的文件类
MFC文件类
在MFC中,CFILE 是基本的文件操作类,提供了读取、写入、打开、关闭等操作方法 主要成员函数:Open(用于打开文件,设置模式 例如 只读 只写 读写) Read 和 Write(用于读取文件数据 和 写入文件数据) Close(打开文件,完成操作之后需要关闭文件) 绘图准备 : Edit Control文本编辑框,设置文本靠右输出,只读,多行显示,具有垂直滚动条 设置四个Button按钮 双击 自动创建对应函数 文本编辑框需要添加变量,以便后续使用
读取文件内容
void CMFCApplication2Dlg :: OnBnClickedButton1 ( )
{
CFile File;
File. Open ( L"G:\\test.txt" , CFile:: modeRead) ;
DWORD FileLength = File. GetLength ( ) ;
char * Buffer = new char [ FileLength + 1 ] ;
memset ( Buffer, 0 , FileLength + 1 ) ;
File. Read ( Buffer, FileLength) ;
CString csBuffer;
csBuffer. Format ( L"%S" , Buffer) ;
m_Edit. SetWindowTextW ( csBuffer) ;
File. Close ( ) ;
}
获取文件内容,开辟空间,格式化输出到屏幕 文件准备: 画面演示:
写入文件
void CMFCApplication2Dlg :: OnBnClickedButton2 ( )
{
CFile File;
File. Open ( L"G:\\test.txt" , CFile:: modeWrite) ;
char * WriteBuffer = "qmx_07" ;
File. Write ( WriteBuffer, strlen ( WriteBuffer) ) ;
File. Flush ( ) ;
File. Close ( ) ;
}
写入文件 记得要 刷新一下 画面演示:
显示文件夹内容
void CMFCApplication2Dlg :: OnBnClickedButton3 ( )
{
CString FileInfo;
CFileFind finder;
BOOL Ret = finder. FindFile ( L"G:\\MFC_Demo\\*.*" ) ;
while ( Ret)
{
Ret = finder. FindNextFileW ( ) ;
CString strPath = finder. GetFilePath ( ) ;
FileInfo += strPath += "\r\n" ;
}
m_Edit. SetWindowTextW ( FileInfo) ;
}
FindNextFileW函数 会返回布尔值,用于检索是否找到下一个文件,如果找到为True,否则为False,退出循环 环境准备: 画面演示:
查找文件
void CMFCApplication2Dlg :: OnBnClickedButton3 ( )
{
CString FileInfo;
CFileFind finder;
BOOL Ret = finder. FindFile ( L"G:\\MFC_Demo\\*.*" ) ;
while ( Ret)
{
Ret = finder. FindNextFileW ( ) ;
CString strName = finder. GetFileName ( ) ;
CString strPath = finder. GetFilePath ( ) ;
FileInfo += strPath += "\r\n" ;
if ( strName == "hello.txt" )
{
AfxMessageBox ( strName) ;
}
}
m_Edit. SetWindowTextW ( FileInfo) ;
}
在查找文件夹的基础上,增加if匹配 AfxMessageBox 可以弹出消息,但是此消息是模态 画面演示:
选择文件
void CMFCApplication2Dlg :: OnBnClickedButton4 ( )
{
CFileDialog File ( TRUE, NULL , NULL , NULL , L"文件|*.txt|ALL Files|*.*||" , this ) ;
File. DoModal ( ) ;
CString Path = File. GetPathName ( ) ;
m_Edit. SetWindowTextW ( Path) ;
}
CFileDialog参数解释: 第一个参数,如果为True 代表打开文件对话框,如果为False为 保存文件对话框 这几个NULL分别表示初始目录、默认文件名和文件扩展名过滤器 L"文件|.txt|ALL Files| .*||" 表示文件对话框 可以显示的文件类型 this代表对话框的 父窗口 这段代码解释:通过设置文件选择,获取文件路径,输出到编辑框 画面演示:
总结
介绍了MFC文件类使用 读取文件,写入文件,显示文件夹内容,查找文件,以及创建文件选择对话框