文件操作

来源:互联网 发布:正规淘宝刷平台官网 编辑:程序博客网 时间:2024/06/06 20:40

1.获取文件路径

TCHAR szProFile[MAX_PATH];GetModuleFileName(NULL, szProFile, MAX_PATH);    //获取exe路径f:\Test\Debug\Test.exe  //GetCurrentDirectory(MAX_PATH,path)    获取当前目录f:\Test\TestCString sFileName;CString stemp;PathRemoveFileSpec(szProFile);     //去掉文件名的路径stemp.Format(_T("%s"),szProFile);   //f:\Test\Debug//stemp.Format(_T("%s"),szProFile);//int iposition = stemp.ReverseFind(_T('\\'));//CString str = stemp.Left(iposition);

PathRemoveFileSpec      功能:删除路径后面的文件名和’/’符号。该函数可以分析出一个文件的路径

2.获取用户选择的文件路径:

TCHAR szBuffer[MAX_PATH*2] = {0};   BROWSEINFO bi;   ZeroMemory(&bi,sizeof(BROWSEINFO));   bi.hwndOwner = NULL;   bi.pszDisplayName = szBuffer;     //此参数如为NULL则不能显示对话框bi.lpszTitle = _T("设置文件查找路径:");   bi.ulFlags = BIF_RETURNONLYFSDIRS;    //只允许用户选择目录,BIF_BROWSEINCLUDEFILES(允许用户选择文件)LPITEMIDLIST idl = SHBrowseForFolder(&bi);    //弹出一个对话框,便于用户选择文件的路径 SHGetPathFromIDList(idl,szBuffer); //获取选择文件夹路径
3.查找文件名
WIN32_FIND_DATA data;vector<CString> v_File;HANDLE hFile = FindFirstFile(_T("F:\\Works\\*.xlsx"),&data);while(INVALID_HANDLE_VALUE != hFile){v_File.push_back(data.cFileName);FindNextFile(hFile,&data);}