获取文件夹路径、在指定地点新建文件夹、在路径中加“\”函数。
来源:互联网 发布:robotmaster软件下载 编辑:程序博客网 时间:2024/05/18 17:57
1.获得动态设置的文件夹的路径。不包含文件名,代码如下:
char szSelected[MAX_PATH] = {0};char szSelected_m[MAX_PATH] = {0};LPITEMIDLIST pidl;BROWSEINFO bi; bi.hwndOwner = this->m_hWnd; //窗口句柄bi.pidlRoot = NULL; //文件夹根bi.pszDisplayName = szSelected; bi.lpszTitle = ""; //窗口标题bi.ulFlags = BIF_RETURNONLYFSDIRS; //对话框外观和功能bi.lpfn = NULL; //事件回调函数bi.lParam = NULL; //传给回调函数的参数bi.iImage = NULL; //被选取的文件夹的图片索引if((pidl = SHBrowseForFolder(&bi)) != NULL){if(SUCCEEDED(SHGetPathFromIDList(pidl, szSelected))){CString mm;mm.Fomate(_T(szSelected));MessageBox(mm);} }
说明:1.此段都不用改,结果存放在字符串mm中。
效果如下图:2.获得另存为设置的文件路径,包含文件名,代码如下:
// 设置过滤器 TCHAR szFilter[] = _T("所有文件(*.*)|*.*||"); // 构造打开文件对话框 CFileDialog fileDlg(FALSE, NULL, NULL, 0, szFilter, this); CString strFilePath; // 显示打开文件对话框 if (IDOK == fileDlg.DoModal()) { // 如果点击了文件对话框上的“打开”按钮,则将选择的文件路径显示到编辑框里 strFilePath = fileDlg.GetPathName(); MessageBox(strFilePath); }
说明:1. 路径存放在字符串strFilePath中。
2.此段都不用更改。
3.CFileDialog类的函数:
GetFileExt():获得选定文件的后缀名。
GetFileName():获得选定文件的名称,包括后缀名。
GetFileTitle():获得选定文件的标题,即不包括后缀名。
GetFolderPath():获得选定文件的目录。
GetNextPathName():获得下一个选定的文件的路径全名。
GetPathName():获得选定文件的路径全名。
GetReadOnlyPref():获得是否“以只读方式打开”。
GetStartPosition():获得文件名列表中的第一个元素的位置。
3.在获得的路径中只有一个“\”(如D:\IMAGE),但写文件时需要两个“\\”(如 D:\\IMAGE)的解决。
说明:在C语言中,“\”并无实际意义,windows的路径中的“\”是C语言中的“\\”,固我们需要给获得的字符串路径加一个“\”。
代码如下:
CString position_img_M; char szSelected_m[MAX_PATH] = {0};// MAX_PATH可任取,这里取260int j = 0;for (int i=0;i<(sizeof(szSelected)/sizeof(szSelected[0]-1));i++){if(szSelected[i]=='\\'){szSelected_m[j] = szSelected[i];j++;szSelected_m[j] = '\\';//这里的'\\',相当于实际加了一个'\'j++;}else{szSelected_m[j] = szSelected[i];j++;}}position_img_M.Format(_T(szSelected_m));
说明:更改后的结果存放在字符串position_img_M中。
4.在指定地点创建新文件夹。代码如下:
CString position_img_M1;position_img_M1 = "D:\\image"if (!PathIsDirectory(position_img_M1))//不存在则创建,。{CreateDirectory(position_img_M1, 0);//不存在则创建}Else//或存在时可以略过,即去掉else语句。{MessageBox(_T(“该文件夹已存在”)); }
说明:1.此段代码只用更改position_img_M1的内容,即新建文件夹的路径和文件名。
2. PathIsDirectory函数,用来判断路径是否存在,路径的一般格式E:\\**\\**,若是存在返回1,否则返回0。
3. CreateDirectory函数,用来创建一个路径,接受两个参数,路径和安全属性,安全属性可选择0,若是创建成功则返回1,否则返回0;在创建时要保证当前路径下的每一级都是有效的,如路径若是E:\\S1\\S2\\S3,若是S1或S2不存在,则创建会失败;若是创建的文件夹存在,则CreateDirectory函数也不会在创建文件夹,也会返回0值,因而CreateDirectory函数在调用时只要没有创建文件夹,函数返回0。
- 获取文件夹路径、在指定地点新建文件夹、在路径中加“\”函数。
- 新建文件夹并获取路径
- VC获取指定文件夹路径
- 在MFC中如何获取文件和文件夹的路径
- ruby 获取文件路径 和 新建文件夹
- 在指定路径创建文件夹, 获取EXE文件的当前目录
- 在磁盘指定路径,创建文件夹及文件
- 获取指定文件夹的文件路径
- 获取指定路径下的文件夹名
- 获取Bitmap保存到指定文件夹路径
- 如何快速在命令提示符(cmd)中打开指定的文件夹路径!
- VC 路径中如果包含文件夹名 如何新建文件夹
- 在matlab中加入文件夹搜索路径和去除文件夹搜索路径
- 在指定路径创建文件夹,读取图片文件,缩放图片,判断文件夹是否存在,
- 浏览文件夹路径--获取路径
- 在 Explorer 中模仿 TC 获取文件和文件夹路径的功能
- iOS在沙盒Documents中创建文件夹以及获取沙盒路径
- 获取系统文件夹路径
- ArrayList源码解读
- 正则表达式的逻辑关系
- 处理使用selenium模块时常见的WebdriverException
- HDU 1509 Windows Message Queue(优先队列)
- I,P,B帧和PTS,DTS的关系
- 获取文件夹路径、在指定地点新建文件夹、在路径中加“\”函数。
- JDK动态代理生成.class文件和cglib动态代理生成.class文件
- 用random模块获取随机数
- BZOJ 3343 教主的魔法
- 学习工作日志
- 矩形覆盖
- codeforces 730E (数学)
- nyoj46
- NYOJ82 迷宫寻宝(一)(BFS)