获取一个目录下的所有文件名,要用那写API? 获取一个目录下的所有文件名,要用那写API? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.vckbase.com/document/viewdoc.asp?id=550 CFindFileCFindNextFile用这两个类,给个油箱,我发给你一个Active控件 [email protected]thanks!最好有API:) WIN32_FIND_DATA find_data; HANDLE search_handle; search_handle = FindFirstFile( DirectoryPath,&find_data ); if (search_handle != INVALID_HANDLE_VALUE) { do { if (find_data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) { CString name = find_data.cFileName; if( (name == ".")||(name == "..") ) continue; } }while(FindNextFile(search_handle,&find_data)); FindClose(search_handle); FindFirstFileFindNextFileFindClose 文件名未知,我本想删除一个目录,但用RemoveDirectory的话要求The RemoveDirectory function deletes an existing empty directory. 所以想先删文件,后删目录。 NewFree的代码必须知道该目录下的一个文件名或子目录不好用 { WIN32_FIND_DATA wfd; HANDLE hFind; CString sFindFilter; sFindFilter = szPath; sFindFilter += _T("\\*.*"); if ((hFind = FindFirstFile(sFindFilter, &wfd)) == INVALID_HANDLE_VALUE) { return ; } do { if (_tcscmp(wfd.cFileName, _T(".")) == 0 || _tcscmp(wfd.cFileName, _T("..")) == 0) { continue; } ..........Here.Get file } while (FindNextFile(hFind, &wfd)); FindClose(hFind);} 我写了一个类,有很多功能,其中就可以解决你的问题。你可以从下面的地址中找到,是外国的主页空间,速度稍慢,是纯html网页文件,无恶意代码,只有空间提供商的广告条.http://www.websamba.com/smallmoon/prog/prog.html 其中的第14个程序:目录浏览类 V1.0 有一个详细的的例子。 CListBox m_listfile;WIN32_FIND_DATA fd;m_listfile.ResetContent(); HANDLE hd=::FindFirstFile((LPCTSTR)m_strfile,&fd);if(hd==INVALID_HANDLE_VALUE) {return;}m_listfile.AddString(fd.cFileName);while(FindNextFile(hd,&fd)) {m_listfile.AddString(fd.cFileName); };FindClose(hd); WIN32_FIND_DATA FindData;HANDLE FileHandle=FindFirstFile("*.*",&FindData);// 查找第一个if(INVALID_HANDLE_VALUE!=FileHandle)// 查找成功{ if(16!=FindData.dwFileAttributes)// 不是目录是文件 { // 在这利用文件名FindData.cFileName对文件操作 } while(FindNextFile(FileHandle,&FindData))// 继续查找所有的 { if(16!=FindData.dwFileAttributes)// 不是目录是文件 { // 在这利用文件名FindData.cFileName对文件操作 } } FindClose(FileHandle);// 关闭} 可能是我太菜吧,CFileFind好象无法到指定PATH去,是吗? NewFree(新自由人) 说得很对啊,用windows api函数! 位图比屏幕大,如何增加滚动条 关于MFC的Dialog控件问题 CEdit 显示字符格式设置 送分,不过也要高才能拿走的......高手请进.. m_bWindowOnly = TRUE; 为何在VC对话框编辑器中插入我的控件的时候还是没有窗口句柄 OnCreate 也不被调用呢? 显式链接dll问题 在调试控件的时候,运行中出现问题,不得其解 CMenu的使用 一个简单的网络问题 linux socket 多线程 互斥锁问题 向access添加新记录 在APP中怎样使用MessageBox
CFindNextFile
用这两个类,给个油箱,我发给你一个Active控件
thanks!
最好有API:)
HANDLE search_handle;
search_handle = FindFirstFile( DirectoryPath,&find_data );
if (search_handle != INVALID_HANDLE_VALUE)
{
do
{
if (find_data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
{
CString name = find_data.cFileName;
if( (name == ".")||(name == "..") )
continue;
}
}while(FindNextFile(search_handle,&find_data)); FindClose(search_handle);
FindNextFile
FindClose
The RemoveDirectory function deletes an existing empty directory.
所以想先删文件,后删目录。
不好用
WIN32_FIND_DATA wfd;
HANDLE hFind;
CString sFindFilter; sFindFilter = szPath;
sFindFilter += _T("\\*.*");
if ((hFind = FindFirstFile(sFindFilter, &wfd)) == INVALID_HANDLE_VALUE)
{
return ;
} do
{
if (_tcscmp(wfd.cFileName, _T(".")) == 0 ||
_tcscmp(wfd.cFileName, _T("..")) == 0)
{
continue;
} ..........Here.Get file
}
while (FindNextFile(hFind, &wfd));
FindClose(hFind);
}
http://www.websamba.com/smallmoon/prog/prog.html
其中的第14个程序:目录浏览类 V1.0 有一个详细的的例子。
m_listfile.ResetContent();
HANDLE hd=::FindFirstFile((LPCTSTR)m_strfile,&fd);
if(hd==INVALID_HANDLE_VALUE) {return;}
m_listfile.AddString(fd.cFileName);
while(FindNextFile(hd,&fd))
{m_listfile.AddString(fd.cFileName);
};
FindClose(hd);
HANDLE FileHandle=FindFirstFile("*.*",&FindData);// 查找第一个
if(INVALID_HANDLE_VALUE!=FileHandle)// 查找成功
{
if(16!=FindData.dwFileAttributes)// 不是目录是文件
{
// 在这利用文件名FindData.cFileName对文件操作
}
while(FindNextFile(FileHandle,&FindData))// 继续查找所有的
{
if(16!=FindData.dwFileAttributes)// 不是目录是文件
{
// 在这利用文件名FindData.cFileName对文件操作
}
}
FindClose(FileHandle);// 关闭
}
是吗?