mfc文件路径|MFC获取指定文件夹文件目录

mfc文件路径|MFC获取指定文件夹文件目录的第1张示图

⑴ MFC 保存文件路径问题

GetCurrentDirectory获取的是当前路径,并不是程序文件本身所在的路径,应用程序的当前路径是可以通过SetCurrentDirectory来改变的,当你调用CFileDialog打开文件以后,这个类就会调用SetCurrentDirectory来修改当前路径,所以你在保存时使用GetCurrentDirectory获取到的肯定是上次打开文件的那个路径,要想不改变当前路径,可以参考楼上兄弟的做法,但不推荐这样做,因为你下次打开文件的时候可能还是希望在上次打开的地方来打开,这本身是一种比较人性化的功能如果你想获取程序本身所在的路径,可用API函数GetMoleFileName来获取,这个函数获取到的就是应用程序所在的路径,无论你是否确定当前路径是否会被改变,都建议不要用GetCurrentDirectory来获取应用程序的路径,因为不可预知会改变当前路径的因素太多了要注意区分当前路径和应用程序所在路径,例如,你给程序创建一个快捷方式,快捷方式中的起始位置那一项设置的就是当前路径,与你目标程序的路径可以不一样;同样,在VC编译器里指定的工作路径也是当前路径,这个路径同样可以与你在命令里面设置的路径不一样,都是可以修改的

⑵ 急!!求懂MFC的大佬帮我解答。MFC单文档工具栏打开文件的路径是怎么获取的,求解。尽量详细点

首先从对话框的按钮处理函数中获得mainframe指针 cmainframe *pmain=(cmaimframe *)afxgetapp()->m_pmainwnd; 然后获得相应视图指针cyourview *pview=(cyourview *)pmain->getactiveview(); 最后获得视图对应的当前文档指针 cdocument * pcurrentdoc =(cframewnd *)m_pmainwnd->getactivedocument();

⑶ MFC 保存文件路径

直接用 API 函数就可以。获取当前路径:GetCurrentDirectory()。设定当前路径:SetCurrentDirectory(); 这里是获取的例子:#include <Windows.h>#include <stdio.h>#include <stdlib.h>main(){char buf[200];GetCurrentDirectory(200, buf);printf("dir is: %s",buf);return 0;}===把 char buf[200];GetCurrentDirectory(200, buf); 放入 MFC 程序,路径就在 buf 里。修改 buf 内容 SetCurrentDirectory(buf); 新路径就设好了。

⑷ MFC生成可执行程序的路径

GetCurrentDirectory函数可以获取当前工作的绝对路径。一般建议在程序入口处获取并保存这个路径,之后使用保存的路径而不是重新获取(因为这个可能被改变)但在VS2010调试的过程中,这个路径确实是有些特殊,你可以尝试上面的方法看看,还有问题再追问(搜函数名一堆例子,这里就不粘贴了)

⑸ MFC获取指定文件夹文件目录

在MFC中,使用CFileFind类,可以枚举一个目录下的所有文件和子回目录。

示例:

voidListFolder(constCString&sPath){CFileFindff;BOOLbFound=ff.FindFile(sPath+"\*.*");while(bFound){bFound=ff.FindNextFile();if(ff.IsDirectory())//是目录{if(!ff.IsDots())//不是本答级目录或父目录(.和..)ListFolder(ff.GetFilePath());//递归子目录}else{AfxMessageBox("文件:"+ff.GetFilePath());}}ff.Close();}

⑹ 如何用mfc访问一个文件夹,并存储文件夹内所有文件的路径

CFileFind finder;if(finder.IsDirectory() && !finder.IsDots()){ // 是子文件夹,递归调用本函数}else{ finder.GetFilePath(); // 获取文件的完整路径 finder.GetFileName(); // 获取文件名,包括扩展名}

⑺ 怎样用mfc找出文件夹路径,并读取文件夹内所有图片

CFileFind find;CString Path = lpszPath;CString lpsz = Path +L"\\";Path = Path +L"\\*.*";BOOL IsFind = find.FindFile(Path);while(IsFind ){IsFind=find.FindNextFile();//如果是"."则不扫描if(find.IsDots())continue;//是目录,继续扫描此目录else if(find.IsDirectory()){CString strPath = lpszPath;strPath = strPath + L"\\" + find.GetFileName();ScanDiskFile(strPath);}//文件else{//获得文件的路径m_strFile = find.GetFileName();CString extend = m_strFile.Right(m_strFile.GetLength() – m_strFile.ReverseFind('.') – 1);//取得扩展名if (extend == m_ext_one | extend == m_ext_two)//m_ext_now为你要查找的文件扩展名{m_strArray.Add(lpsz + m_strFile); }}}find.Close();m_ext_one、m_ext_two用于指定需要搜索的文件后缀名

⑻ MFC 创建文件,给的路径的问题

int CradioDlg::ReadIniFile(){FILE *stream; char line[255];CStringArray strArray;stream = fopen("C:\\ttt.ini ", "r ");if(stream) { while (!feof(stream)) { char *ch = fgets(line,2048,stream);if (ch == NULL) break; CString strch=(CString)ch;strch.GetBuffer();CString strLine;//strLine.Add(strch);//strch.ReleaseBuffer();if (ch[0] == 10)continue; //CString testpath = L"C:\\new\\REtest.ini";CStdioFile file(strch,CFile::modeCreate|CFile::modeReadWrite);if(!file){AfxMessageBox(L"文件创建不成功");}ReadIniFile();file.Close();}}return 1;}拿你代码随便尝试了下 是可以的啊 C:\\ttt.ini 这里面是 "C:\\new\\REtest.ini" 你是不是这里面写错了

⑼ 关于MFC获取文件夹路径的问题

如果你写好了把开文件夹的代码,再加上这几句就版OK了void CMainFrame::OnFileOpen() {权// TODO: Add your command handler code herechar szSelected[MAX_PATH];LPITEMIDLIST pidl;SUCCEEDED(SHGetPathFromIDList(pidl, szSelected));}

⑽ mfc中文件路径的获取

'm_File' : undeclared identifier ,没有这个变来量,源要先定义的类型的;m_File 在类 .h 文件里面定义, CString m_File;或者直接在函数里面定义也可以

未经允许不得转载:山九号 » mfc文件路径|MFC获取指定文件夹文件目录

赞 (0)