如何得到一个文件夹中的所有文件名?急!!!!!1111

llhwan 2003-12-24 11:45:13
如何得到一个文件夹中的所有文件名?急!!!!!1111
...全文
68 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sboom 2003-12-24
  • 打赏
  • 举报
回复
我也是,难得我会的。
曾经的猎狐 2003-12-24
  • 打赏
  • 举报
回复
哇,一个不留神,被别人抢先了
曾经的猎狐 2003-12-24
  • 打赏
  • 举报
回复

CMutex cm;
while(1)
{

cm.Lock();
CFileFind Finder;
CString dir="Cache";
FieldPtr pFld = NULL;
if(dir.Right(1)!="\\")
{
dir+="\\";

}
dir+="*.*";
VARIANT_BOOL res=Finder.FindFile(dir);//找到当前目录

while(res)
{
res=Finder.FindNextFile();//当找到最后一个文件时,此时会返回假

if(!Finder.IsDirectory() && !Finder.IsDots())//是文件,
{
//DeleteFile(Finder.GetFilePath());
CStdioFile m_hFile;
try
{


if(!m_hFile.Open(Finder.GetFilePath(),CFile::modeCreate | CFile::modeNoTruncate | CFile::modeRead | CFile::typeText))
{
//return NULL;
break;
}
/*char szFile[MAX_BUFFER];
m_hFile.Seek(0,0);
memset(szFile,0,MAX_BUFFER);*/
CString szFile;

while(m_hFile.ReadString(szFile))
{
///////////////////////////////////////////////////////////////////////

我只摘取了一段代码
Finder.GetFilePath()
就是获得文件名了
spwnihao 2003-12-24
  • 打赏
  • 举报
回复
[完整源码,无需改动,勿忘给分]
void CMyComDlg::OnButton1()
{
// TODO: Add your control notification handler code here
AddList("C:\\myDir");

}
void CMyComDlg::AddList(char* DirName)
{
CFileFind tempFind;
char tempFileFind[200];
sprintf(tempFileFind,"%s\\*.*",DirName);
BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
while(IsFinded)
{
IsFinded=(BOOL)tempFind.FindNextFile();
if(!tempFind.IsDots())
{
char foundFileName[200];
strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));

//还有子目录,子目录下的所有文件加入list
if(tempFind.IsDirectory())
{
char tempDir[200];
sprintf(tempDir,"%s\\%s",DirName,foundFileName);
AddList(tempDir);
}
else
{
CString StrAdd;
CString strFileName=tempFind.GetFileName();
//去掉扩展名
int EXTNameBegin = strFileName.Find('.');
if(EXTNameBegin==-1)
{
StrAdd=strFileName;
}
else
{
StrAdd=strFileName.Mid(0,EXTNameBegin);
}

//文件加入列表
m_Comb.AddString(StrAdd);
}

}
}
tempFind.Close();
}
Ariesman 2003-12-24
  • 打赏
  • 举报
回复
findfirstfile
findnextfile
IDDIALOG 2003-12-24
  • 打赏
  • 举报
回复
CFileFind finder;
BOOL bWorking = finder.FindFile("c:\\*.*");
while (bWorking)
{
bWorking = finder.FindNextFile();
CString strName = finder.GetFileName();
}
llhwan 2003-12-24
  • 打赏
  • 举报
回复
呵呵,我知道啊 ,有代码吗?我很急啊,
Ariesman 2003-12-24
  • 打赏
  • 举报
回复
遍历

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧