ImageVerifierCode 换一换
格式:DOCX , 页数:99 ,大小:41.82KB ,
资源ID:11239305      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11239305.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MFC所有的文件操作.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MFC所有的文件操作.docx

1、MFC所有的文件操作1.创建文件夹CreateDirectory(%1,NULL);2.创建文件CFile file;file.Open(%1,CFile:modeCreate|CFile:modeWrite);3.删除文件DeleteFile(%1);4.删除文件夹RemoveDirectory(%1);5.删除一个目录下所有的文件夹CFileFind finder;CString path;path.Format(%s*.*,%1);BOOL bWorking = finder.FindFile(path);while (bWorking) bWorking = finder.FindNe

2、xtFile(); if (finder.IsDirectory() RemoveDirectory(finder.GetFilePath(); 6.清空文件夹RemoveDirectory(%1);CreateDirectory(%1,NULL);7.读取文件char sRead5120;CFile mFile(_T(%1),CFile:modeRead);while (sRead!=NULL) mFile.Read(sRead,5120); CString %2(sRead); %3mFile.Close();8.写入文件CFile mFile(_T(%1), CFile:modeWrit

3、e|CFile:modeCreate);mFile.Write(%2,sizeof(%2);mFile.Flush();mFile.Close();9.写入随机文件char szTempPath_MAX_PATH,szTempfile_MAX_PATH;GetTempPath(_MAX_PATH, szTempPath);GetTempFileName(szTempPath,_T (my_),0,szTempfile);CFile m_tempFile(szTempfile,CFile: modeCreate|CFile: modeWrite);char m_char=a;m_tempFile

4、.Write(&m_char,2);m_tempFile.Close();/循环写入多个值strTempA;int i;int nCount=6;/共有6个文件名需要保存for (i=0;istrTemp.Format(%d,i);strTempA=文件名;/文件名可以从数组,列表框等处取得.:WritePrivateProfileString(UseFileName,FileName+strTemp,strTempA,c:usefileusefile.ini);strTemp.Format(%d,nCount);:WritePrivateProfileString(FileCount,Cou

5、nt,strTemp,c:usefileusefile.ini);/将文件总数写入,以便读出./读出nCount=:GetPrivateProfileInt(FileCount,Count,0,c:usefileusefile.ini);for(i=0;istrTemp.Format(%d,i);strTemp=FileName+strTemp;:GetPrivateProfileString(CurrentIni,strTemp,default.fil, strTempA.GetBuffer(MAX_PATH),MAX_PATH,c:usefileusefile.ini);/使用strTem

6、pA中的内容.10.读取文件属性DWORD dwAttrs = GetFileAttributes(%1);if(dwAttrs & FILE_ATTRIBUTE_READONLY) %2 if(dwAttrs & FILE_ATTRIBUTE_NORMAL) %3 11.写入属性SetFileAttributes(%1,dwAttrs | FILE_ATTRIBUTE_READONLY); 12.枚举一个目录下所有文件夹CFileFind finder;CString path;path.Format(%s*.*,%1);BOOL bWorking = finder.FindFile(pat

7、h);while (bWorking) bWorking = finder.FindNextFile(); if(finder.IsDirectory() CString %1=finder.GetFilePath(); %2 13.复制文件夹WIN32_FIND_DATA FileData;HANDLE hSearch;DWORD dwAttrs;char szDirPath = %2;char szNewPathMAX_PATH;char szHomeMAX_PATH;BOOL fFinished = FALSE;if (!CreateDirectory(szDirPath, NULL)

8、/不能创建新的目录 return;CString path;path.Format(%s*.*,%1);hSearch = FindFirstFile(path, &FileData);if (hSearch = INVALID_HANDLE_VALUE) return;while (!fFinished) lstrcpy(szNewPath, szDirPath); lstrcat(szNewPath, FileData.cFileName); if (CopyFile(FileData.cFileName, szNewPath, FALSE) dwAttrs = GetFileAttrib

9、utes(FileData.cFileName); if (!(dwAttrs & FILE_ATTRIBUTE_READONLY) SetFileAttributes(szNewPath, dwAttrs | FILE_ATTRIBUTE_READONLY); else /不能复制文件 return; if (!FindNextFile(hSearch, &FileData) if (GetLastError() = ERROR_NO_MORE_FILES) /遍历文件夹完成 fFinished = TRUE; else /找不到下一个文件 return; FindClose(hSearch

10、);14.复制一个目录下所有的文件夹到另一个文件夹下WIN32_FIND_DATA FileData;HANDLE hSearch;DWORD dwAttrs;char szDirPath = %2;char szNewPathMAX_PATH;char szHomeMAX_PATH;BOOL fFinished = FALSE;if (!CreateDirectory(szDirPath,NULL) /不能创建新的目录 return;CString path;path.Format(%s*.*,%1);BOOL bWorking = finder.FindFile(path);while (

11、bWorking) bWorking = finder.FindNextFile(); if(finder.IsDirectory() hSearch = FindFirstFile(finder.GetFilePath()+*.*, &FileData); if (hSearch = INVALID_HANDLE_VALUE) return; while (!fFinished) lstrcpy(szNewPath, szDirPath); lstrcat(szNewPath, FileData.cFileName); if (CopyFile(FileData.cFileName, szN

12、ewPath, FALSE) dwAttrs = GetFileAttributes(FileData.cFileName); if (!(dwAttrs & FILE_ATTRIBUTE_READONLY) SetFileAttributes(szNewPath, dwAttrs | FILE_ATTRIBUTE_READONLY); else /不能复制文件 return; if (!FindNextFile(hSearch, &FileData) if (GetLastError() = ERROR_NO_MORE_FILES) /遍历文件夹完成 fFinished = TRUE; el

13、se /找不到下一个文件 return; FindClose(hSearch); 15.移动文件夹WIN32_FIND_DATA FileData;HANDLE hSearch;DWORD dwAttrs;char szDirPath = %2;char szNewPathMAX_PATH;char szHomeMAX_PATH;BOOL fFinished = FALSE;if (!CreateDirectory(szDirPath, NULL) /不能创建新的目录 return;CString path;path.Format(%s*.*,%1);hSearch = FindFirstFi

14、le(path, &FileData);if (hSearch = INVALID_HANDLE_VALUE) return;while (!fFinished) lstrcpy(szNewPath, szDirPath); lstrcat(szNewPath, FileData.cFileName); if (CopyFile(FileData.cFileName, szNewPath, FALSE) dwAttrs = GetFileAttributes(FileData.cFileName); if (!(dwAttrs & FILE_ATTRIBUTE_READONLY) SetFil

15、eAttributes(szNewPath, dwAttrs | FILE_ATTRIBUTE_READONLY); else /不能复制文件 return; if (!FindNextFile(hSearch, &FileData) if (GetLastError() = ERROR_NO_MORE_FILES) /遍历文件夹完成 fFinished = TRUE; else /找不到下一个文件 return; FindClose(hSearch);RemoveDirectory(%1); 16.移动一个文件夹下所有的文件夹到另一个目录下WIN32_FIND_DATA FileData;H

16、ANDLE hSearch;DWORD dwAttrs;char szDirPath = %2;char szNewPathMAX_PATH;char szHomeMAX_PATH;BOOL fFinished = FALSE;if (!CreateDirectory(szDirPath,NULL) /不能创建新的目录 return;CString path;path.Format(%s*.*,%1);BOOL bWorking = finder.FindFile(path);while (bWorking) bWorking = finder.FindNextFile(); if(finde

17、r.IsDirectory() hSearch = FindFirstFile(finder.GetFilePath()+*.*, &FileData); if (hSearch = INVALID_HANDLE_VALUE) return; while (!fFinished) lstrcpy(szNewPath, szDirPath); lstrcat(szNewPath, FileData.cFileName); if (CopyFile(FileData.cFileName, szNewPath, FALSE) dwAttrs = GetFileAttributes(FileData.

18、cFileName); if (!(dwAttrs & FILE_ATTRIBUTE_READONLY) SetFileAttributes(szNewPath, dwAttrs | FILE_ATTRIBUTE_READONLY); else /不能复制文件 return; if (!FindNextFile(hSearch, &FileData) if (GetLastError() = ERROR_NO_MORE_FILES) /遍历文件夹完成 fFinished = TRUE; else /找不到下一个文件 return; FindClose(hSearch); RemoveDirec

19、tory(finder.GetFilePath().GetBuffer(0); 17.以一个文件夹的框架在另一个目录创建文件夹和空文件WIN32_FIND_DATA FileData;HANDLE hSearch;DWORD dwAttrs;char szDirPath = %2;char szNewPathMAX_PATH;char szHomeMAX_PATH;BOOL fFinished = FALSE;if (!CreateDirectory(szDirPath, NULL) /不能创建新的目录 return;CString path;path.Format(%s*.*,%1);hSe

20、arch = FindFirstFile(path, &FileData);if (hSearch = INVALID_HANDLE_VALUE) return;while (!fFinished) lstrcpy(szNewPath, szDirPath); lstrcat(szNewPath, FileData.cFileName); HANDLE hFile=CreateFileHandle hFile=CreateFile(szNewPath,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FI

21、LE_FLAG_SEQUENTIAL_SCAN,NULL); if(!hFile) /不能创建文件 return; if (!FindNextFile(hSearch, &FileData) if (GetLastError() = ERROR_NO_MORE_FILES) /遍历文件夹完成 fFinished = TRUE; else /找不到下一个文件 return; FindClose(hSearch);18.复制文件CopyFile(%1,%2,true);19.复制一个文件夹下所有的文件到另一个目录/#include using std:string;char sep=/;#ifde

22、f _WIN32sep=;#endifCFileFind finder;CString path;path.Format(%s*.*,%1);BOOL bWorking = finder.FindFile(path);while (bWorking) bWorking = finder.FindNextFile(); if(!finder.IsDirectory() | finder.IsDots() string s(finder.GetFileName(); CString sourcefile(%1); if(s.rfind(sep,s.length()!=string:npos) so

23、urcefile=sourcefile+/+s.substr(i+1,s.length()-i); CString targetfile(s.substr(i+1,s.length()-i); targetfile=%2+/+targetfile/; CopyFile(sourcefile.GetBuffer(0),targetfile.GetBuffer(0),true); 20.提取扩展名CString path(%1);CString %2=path.Mid(path.ReverseFind(.);21.提取文件名CString path(%1);CString %2=path.Mid(

24、path.ReverseFind()+1);22.提取文件路径char appNameMAX_PATH;GetModualFileName(NULL,appName,MAX_PATH);23.替换扩展名/#include using std:string;string s(%1);string newExt(%2);string:size_type i=s.rfind(.,s.length();if(i!=string:npos)s.replace(i+1,newExt.length(),newExt);CString %3(s);24.追加路径/*#include #include #inc

25、lude #include */using namespace std;using namespace boost:filesystem;try path p1=complete(path(%2,native), path(%1,native); path p2=system_complete(path(%2,native); CString %3(p3);catch(exception& e) /e.what();25.移动文件MoveFile(%1,%2); 26.移动一个文件夹下所有文件到另一个目录/#include using std:string;char sep=/;#ifdef

26、_WIN32sep=;#endifCFileFind finder;CString path;path.Format(%s*.*,%1);BOOL bWorking = finder.FindFile(path);while (bWorking) bWorking = finder.FindNextFile(); if(!finder.IsDirectory() | finder.IsDots() string s(finder.GetFileName(); CString sourcefile(%1); if(s.rfind(sep,s.length()!=string:npos) sour

27、cefile=sourcefile+/+s.substr(i+1,s.length()-i); CString targetfile(s.substr(i+1,s.length()-i); targetfile=%2+/+targetfile/; MoveFile(sourcefile.GetBuffer(0),targetfile.GetBuffer(0),true); 27.指定目录下搜索文件CString strFileTitle;CFileFind finder;BOOL bWorking = finder.FindFile(%1); /C:windowssysbkup*.cabwhi

28、le(bWorking) bWorking=finder.FindNextFile(); strFileTitle=finder.GetFileTitle(); 28.打开对话框CFileDialog mFileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,All Files (*.*)|*.*|,AfxGetMainWnd();CString str( ,10000);mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000);str.ReleaseBuffer();POSITION mPos=mFileDl

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1