当我在我的程序里面知道了一个文件夹的路径以后,如何才能知道里面都有些什么文件,我需要知道这个文件夹里面每一个文件的文件名和扩展名,怎么做???
希望各位高手帮忙!!!
希望各位高手帮忙!!!
解决方案 »
- 如何在word插入的activex控件中保存数据呢?
- 无UPDATE_COMMAND_UI消息
- 请教高手一个较难的问题,如何隐藏和显示MSN的托盘图标,难倒过很多人!
- 关于STL中的查找功能。
- 一个Project里的class怎么调用另一个Project里的class
- 有哪位好心人可以把<WINDOWS网络编程>的碟子发给我..
- 如何获知某个文件是否被占用
- MFC的菜单和工具栏新添了一项默认是灰的,怎么取消这个风格来着?记不太清楚了。
- 急:如何将256bmp图象保存成256jpg图象
- 问大家一个问题:我从csdn上下载的很多例程中都有一个pcAnywhere Option Set File类型的文件
- 在北京招VC兼职,用于开发图形组件,用Oracle数据库
- 请教:如何做一个类似于资源管理器的东西。
#include <afx.h>
#include <iostream>using namespace std;void Recurse(LPCTSTR pstr)
{
CFileFind finder; // build a string with wildcards
CString strWildcard(pstr);
strWildcard += _T("\\*.*"); // start working for files
BOOL bWorking = finder.FindFile(strWildcard); while (bWorking)
{
bWorking = finder.FindNextFile(); // skip . and .. files; otherwise, we'd
// recur infinitely! if (finder.IsDots())
continue; // if it's a directory, recursively search it if (finder.IsDirectory())
{
CString str = finder.GetFilePath();
cout << (LPCTSTR) str << endl;
Recurse(str);
}
} finder.Close();
}void main()
{
if (!AfxWinInit(GetModuleHandle(NULL), NULL, GetCommandLine(), 0)
cout << "panic!" << endl;
else
Recurse(_T("C:"));
}
HANDLE hSearch;
DWORD dwAttrs;
char szDirPath[] = "c:\\TEXTRO\\";
char szNewPath[MAX_PATH];
char szHome[MAX_PATH];
BOOL fFinished = FALSE;
// Create a new directory.
if (!CreateDirectory(szDirPath, NULL))
{
ErrorHandler("Couldn't create new directory.");
}
// Start searching for .TXT files in the current directory.
hSearch = FindFirstFile("*.txt", &FileData);
if (hSearch == INVALID_HANDLE_VALUE)
{
ErrorHandler("No .TXT files found.");
}
// Copy each .TXT file to the new directory
// and change it to read only, if not already.
while (!fFinished)
{
lstrcpy(szNewPath, szDirPath);
lstrcat(szNewPath, FileData.cFileName);
if (CopyFile(FileData.cFileName, szNewPath, FALSE))
{
dwAttrs = GetFileAttributes(FileData.cFileName);
if (!(dwAttrs & FILE_ATTRIBUTE_READONLY))
{
SetFileAttributes(szNewPath,
dwAttrs | FILE_ATTRIBUTE_READONLY);
}
}
else
{
ErrorHandler("Couldn't copy file.");
}
if (!FindNextFile(hSearch, &FileData))
{
if (GetLastError() == ERROR_NO_MORE_FILES)
{
MessageBox(hwnd, "No more .TXT files.",
"Search completed.", MB_OK);
fFinished = TRUE;
}
else
{
ErrorHandler("Couldn't find next file.");
}
}
}
// Close the search handle.
if (!FindClose(hSearch))
{
ErrorHandler("Couldn't close search handle.");
}
BOOL bWorking = finder.FindFile("C:\\windows\\*.*");
while (bWorking)
{
bWorking = finder.FindNextFile();
MessageBox(finder.GetFileName());
}
CString m_strFindPath = "c:\\test";BOOL bWork = finder.FindFile("c:\\test",0);
while(bWork)
{
bWork = finder.GetNextFile();
if(finder.IsDots())
{
continue;
}
if(finder.IsDirectory( ))
{
//用第归
}
CString str1; //获得文件路径
str1 = finder.GetFilePath( );
}
具体用法查msdn中CFileFind类的各个函数
^-^