文件及文件路径相关操作
来源:互联网 发布:java 多个泛型 编辑:程序博客网 时间:2024/06/05 04:15
1.获取执行目录
void GetExepath(TCHAR *pPath, int nSize) //获取执行目录{TCHAR exePath[MAX_PATH];::memset(exePath, 0, sizeof(TCHAR)*MAX_PATH);::GetModuleFileName(NULL,exePath,MAX_PATH);TCHAR* pEnd = _tcsrchr(exePath,_T('\\'));*(pEnd+1) = NULL;if ( pPath != NULL ){_tcscpy_s(pPath,nSize,exePath);}}
2.创建文件夹
CString CreateExcelFolder(CString& strExcelTime) //创建Excel表的文件夹,并返回指定要保存Excel表的绝对路径{CString strExcelPath;CString strExcelRootFolder; //Excel表根目录绝对路径CString strExcelChildFolder; //Excel表子目录绝对路径CString strModelExcelPath; //模板Excel表的绝对路径, 用于新建Excel表时strExcelRootFolder.Format(_T("D:\\Log_Excel"));if(!PathFileExists(strExcelRootFolder)) //如果文件夹不存在{ CreateDirectory(strExcelRootFolder, NULL); }SYSTEMTIME SysTime;GetLocalTime(&SysTime);strExcelChildFolder.Format(_T("%s\\%.4d-%.2d"), strExcelRootFolder, SysTime.wYear, SysTime.wMonth);if(!PathFileExists(strExcelChildFolder)) //如果文件夹不存在{ CreateDirectory(strExcelChildFolder, NULL); }strExcelTime.Format(_T("%.4d-%.2d-%.2d"), SysTime.wYear, SysTime.wMonth, SysTime.wDay);strExcelPath.Format(_T("%s\\%s.xls"), strExcelChildFolder, strExcelTime);return strExcelPath;}
3.复制文件后删除文件
BOOL CMarkNormalDlg::CopyAndDel(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName){if (CopyFile(lpExistingFileName, lpNewFileName, FALSE)){if (!DeleteFile(lpExistingFileName)){SetFileAttributes(lpExistingFileName, FILE_ATTRIBUTE_NORMAL);return DeleteFile(lpExistingFileName);}return TRUE;}return FALSE;}
4.查找文件
void FindFile(CString strPath){CString strtemp;if(strPath.Right(1)!="\\")strtemp.Format("%s\\*.*",strPath);elsestrtemp.Format("%s*.*",strPath);CFileFind findfile;BOOL bfind=findfile.FindFile(strtemp);while(bfind){bfind=findfile.FindNextFile();if(strfilename==findfile.GetFileName()){m_filelist.AddString(findfile.GetFilePath());}if(findfile.IsDirectory()&&!findfile.IsDots()){FindFile(findfile.GetFilePath());}if(//退出条件bstop)return;}}
5.删除文件夹
void DelFolder(CString path){CFileFind file;if(path.Right(1) != "\\")path +="\\*.*";BOOL bf;bf = file.FindFile(path);while(bf){bf = file.FindNextFile();//是文件时直接删除if (!file.IsDots() && !file.IsDirectory())DeleteFile(file.GetFilePath());else if (file.IsDots())continue;else if (file.IsDirectory()){path = file.GetFilePath();//是目录时,继续递归调用函数删除该目录下的文件DelFolder(path);//目录为空后删除目录RemoveDirectory(path);}}}
6.判断文件是否存在
BOOL IsFileExist(const CString& strFilePath){DWORD attr=::GetFileAttributes(strFilePath);if( INVALID_FILE_ATTRIBUTES==attr || (FILE_ATTRIBUTE_ARCHIVE&attr)!=FILE_ATTRIBUTE_ARCHIVE || (FILE_ATTRIBUTE_DIRECTORY&attr)==FILE_ATTRIBUTE_DIRECTORY )return FALSE;return TRUE;}
阅读全文
0 0
- 文件及文件路径相关操作
- 文件路径的相关操作
- IOS沙盒路径及相关文件操作
- android 路径及文件操作
- Python-路径及文件操作
- 文件路径相关的字符串操作
- PHP文件的路径及操作
- matlab 文件目录及路径操作
- 关于文件及文件夹的相关操作
- C#文件读写及相关操作
- C#文件读写及相关操作
- [转]C#文件读写及相关操作
- [Python]文件及文件夹相关操作
- C 文件操作及相关函数
- 文件及文件夹的相关操作
- Linux文件权限管理及相关操作
- 文件操作-路径操作
- watir文件路径相关
- Java多线程的应用实例
- opencv关于直线检测,基于opencv
- pwnable.kr记录
- Android开发笔记: JAVA版本说明
- mint-ui —— cell的使用
- 文件及文件路径相关操作
- python 用3.x版本打开2.x版本代码时print处理
- kubernetes学习记录(10)——建立Heapster+Influxdb+Grafana集群性能监控平台
- Android编译:Werror
- h3c smart link
- 从代码学AI ——情感分类(LSTM on TFlearn)
- WebView是简单使用
- 女子网购透支十万吴京被逼捐1亿6次变道连撞4车周润发砍树清路
- easyUI 布局加tabs