人人范文网 范文大全

mfc文件操作个人总结

发布时间:2020-03-03 01:52:34 来源:范文大全 收藏本文 下载本文 手机版

MFC文件操作

一,打开文件对话框

CString szFilters=_T(\"txt Files (*.txt)\");

CFileDialog fileDlg(TRUE, _T(\"txt\"), _T(\"*.txt\"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilters, NULL);

if(fileDlg.DoModal() == IDOK){

CString filestr;

}; filestr = fileDlg.GetPathName(); //得到打开的文件的全路径+后缀

二,打开文件

CFile::CFile( LPCTSTR lpszFileName, UINT nOpenFlags ); //CFile构造

lpszFileName文件名

nOpenFlags打开方式,有:

CFile::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文件原有内容。

CFile::modeRead:只读。

CFile::modeWrite:只写。

CFile::modeReadWrite:以读写方式打开文件。

CFile::modeNoTruncate:以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。一般与CFile::modeCreate一起使用,则文件不存在时,新建一个文件;存在就进行追加操作(其追加是从起始位置进行覆盖式追加的,所以要与定位配合操作)。

例:1,利用CFile的构造函数打开文件

filestr = _T(\"C:\\\\Users\\\\zktw\\\\Desktop\\\\new.txt\");//或用一中获得的路径

CFile RWFile(filestr,CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate); 例2:利用CFile的成员函数

CFilemyfile;

Myfile.open(_T(“路径”), CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate);

三,文件读写操作

读操作

CFile::Read( void* lpBuf, UINT nCount );从lpBuf指向的地址开始读取nCount 个字节,指针也自动下移nCount

写操作

CFile::Write( const void* lpBuf, UINT nCount );向lpBuf指向的内存地址写入nCount 个字节,指针也自动下移nCount

四,定位

CFile::Seek( LONG lOff, UINT nFrom );从指定位nFrom置偏移lOff字节.nFrom有三种方式,如:

CFile::begin从文件开始移动

CFile::current从当前位置移动

CFile::end从文件末位移动,此时lOff为负值.例: CFile::Seek(0, CFile::end);//定位文件尾

五,关闭打开的文件

CFile::Close();//关闭文件,删除对象,再次对文件读写时必须重新定义对象

六,查找文件是否存在(CFileFind的成员函数)

CStringstrFileTitle;

CFileFindfinder;

BOOLbWorking = finder.FindFile(_T(\"C:\\\\Users\\\\zktw\\\\Desktop\\\\new.txt\"));

if(bWorking)

{

AfxMeageBox(_T(“文件已存在”);

}

else

AfxMeageBox(_T(“文件不存在”));

finder.close();//结束查找请求释放资源,但是再次发出查找请求时不需要重新定义//CFileFind对象如下:

bWorking = finder.FindFile(_T(\"C:\\\\Users\\\\zktw\\\\Desktop\\\\new1.txt\"));

。。。。

finder.close();

CFileFind封装了许多非常有用的成员函数 可以百度一下。

七,创建文件夹

CreateDirectory(_T“路径”,NULL);第一个参数值为文件夹名称,第二个参数值为安全属性,一般设置为NULL即可。如果正确创建,返回值为1,如果没有正常创建文件夹,则返回0。

特别的:该函数每次调用时都只能创建一级文件夹,即文件夹中不能再包含子文件夹。当希望创建含有子文件夹的文件夹时,可以先使用该函数创建一级文件夹,然后再使用该函数在一级文件夹下创建子文件夹。

八,删除文件

DeleteFile(_T(“路径”));

九,删除文件夹

RemoveDirectory(_T(“路径”)); //文件夹内没有文件时才会删除成功,可以无限查找”.”带.//文件然后都删除掉,再删除文件夹

十,复制文件

CopyFile(_T(路径),_T(路径),true);//true:目标不能已存在。False:目标可以已存在 例:CopyFile(_T(\"C:\\\\Users\\\\zktw\\\\Desktop\\\\new.txt\"), _T(\"d:\\\\new\\\\new.txt\"), TRUE);

十一,移动文件或文件夹

MoveFile(_T(路径),_T(路径));//同一目录下即是重命名,移动的时候也可以重命名//移动文件夹时只能在同一盘操作

例:MoveFile(_T(\"C:\\\\Users\\\\zktw\\\\Desktop\\\\new.txt\"), _T(\"d:\\\\new\\\\new.txt\"));//移动文件 MoveFile(_T(\"d:\\\\abc\"), _T(\"d:\\\\new\\\\abc\"));//文件夹移动

注:加粗的文件或文件夹不能已存在

十二,复制一个文件夹下所有的文件到另一个目录

CFileFind finder;

CString straddr;

CString strname;

BOOL bfind;

bfind = finder.FindFile(_T(\"C:\\\\Users\\\\zktw\\\\Desktop\\\\abc\\\\*.*\"));

while(bfind)

{

bfind = finder.FindNextFile();

straddr.Format(_T(\"%s\"), finder.GetFilePath());

strname.Format(_T(\"d:\\\\new\\\\%s\"), finder.GetFileName());

//MoveFile(straddr, strname); //移动

CopyFile(straddr, strname, TRUE); //复制

}

finder.Close();

Mfc个人心得体会

MFC个人心得

MFC实践总结

MFC Windows程序设计语言总结

MFC规则DLL总结

mfc近期学习总结

MFC编程实验个人总结报告

资料 MFC

MFC视图切换全总结

MFC Leon1~8笔记总结

mfc文件操作个人总结
《mfc文件操作个人总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档