热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在一个文件夹下打开所有目录的两种方法

一.使用CFileFind类代码如下:CFileFindfinder;BOOLbWorkingfinder.FindFile(C:\\Users\\Adminis

一.使用CFileFind类

代码如下:

CFileFind finder;BOOL bWorking = finder.FindFile("C:\\Users\\Administrator\\Desktop\\赛道\\*.jpg");int count=0;while (bWorking){bWorking = finder.FindNextFile();m_fileName=finder.GetFileName(); ((CListBox*)GetDlgItem(IDC_LIST2))->InsertString(0,m_fileName);count++;//MessageBox(m_fileName);}

这样可以把名称显示在一个下拉框里面,当然在FindFile()函数里面的文件路径,可以用其它方法拿到的。

例如CFile  函数中的GetFilePath();

二.直接利用CFileDialog中成员变量的一个结构体OPENFILENAME

if(dlg.DoModal()==IDOK){//把第一个文件名前的复制到szPath,即://如果只选了一个文件,就复制到最后一个'/'//如果选了多个文件,就复制到第一个NULL字符//lstrcpyn(szPath, szOpenFileNames, dlg.m_ofn.nFileOffset );lstrcpyn(szPath, dlg.m_ofn.lpstrFile, dlg.m_ofn.nFileOffset );//当只选了一个文件时,下面这个NULL字符是必需的.//这里不区别对待选了一个和多个文件的情况//szPath[ dlg.m_ofn.nFileOffset ] = '/0';nLen = lstrlen(szPath);if( szPath[nLen-1] != '//' ) //如果选了多个文件,则必须加上'//'{lstrcat(szPath, TEXT("//"));}p = dlg.m_ofn.lpstrFile+ dlg.m_ofn.nFileOffset; //把指针移到第一个文件ZeroMemory(szFileName, sizeof(szFileName));int count=-1;while( *p){ ((CListBox*)GetDlgItem(IDC_LIST2))->InsertString(count++,p);lstrcat(szFileName, szPath); //给文件名加上路径 lstrcat(szFileName, p); //加上文件名 p += lstrlen(p) +1; //移至下一个文件}}此处要注意对结构体用到变量的初始化。










推荐阅读
author-avatar
我并没有你们想象P的坚强
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有