急,怎样得到一个目录下所有文件的详细资料? 各位大虾,在windows系统中怎样遍历一个目录下的所有文件,得到所有文件的文件名和大小啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFileFind ff; BOOL bFound; int i=0; bFound = ff.FindFile(szPath + "\\*.*"); while(bFound) { bFound = ff.FindNextFile(); cFilePath[i++] = ff.GetFilePath(); cCreationTime[i++] = ff. GetCreationTime(); cLastAccessTime[i++] = GetLastAccessTime(); . //想要什么自己加 . } http://www.vckbase.com/code/listcode.asp?mclsid=15&sclsid=1507 http://www.vckbase.com/bbs/prime/viewprime.asp?id=392 string strSourceFilePath = m_caSrcPath;vector<string> PathVector;PathVector.push_back(strSourceFilePath);WIN32_FIND_DATA FindData;int nSize = 1;//开始查找for (int i=0; i<nSize; ++i){ //变换目录 strSourceFilePath = PathVector[i]; strSourceFilePath += "*.*";//可该为自己需要的文件类型 //在该目录下查找 HANDLE hResult = FindFirstFile(strSourceFilePath.c_str(), &FindData); if (hResult == INVALID_HANDLE_VALUE) { continue; } //遍历该目录下每一个文件 do { //如果是目录 if (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { //如果不是"."或".." if (memcmp(FindData.cFileName, ".", 1) != 0) { strSourceFilePath = PathVector[i]; strSourceFilePath += FindData.cFileName; strSourceFilePath += '\\'; PathVector.push_back(strSourceFilePath); ++nSize; } continue; } else { //得到文件路径全名 strSourceFilePath = PathVector[i]; strSourceFilePath += FindData.cFileName; HANDLE hFileHandle = CreateFile(FilePathName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL); //得到文件大小 int FileSize = GetFileSize(hFileHandle, NULL); } } while (FindNextFile(hResult, &FindData)); //关闭查找 FindClose(hResult);} 得到文件大小后CloseHandle(hFileHandle); 没dsw文件应该如何打开啊? 内存映射 按打开按扭时可以读数,但一改变qwFileOffset就读不出来了 大家都用什么方式编写自动升级? 关于各函数数据传递的问题 一个进程启动另一个进程,如何知道他的父进程是谁 怎么编辑类的消息映射?那些代码~~~! 请问在对话框中怎样加入自定义的menu? CList是否不支持第二参数没有默认构造函数? 那里有VC 对ACCSEE的连接和操作的教程和程序,VC里使用。DLL 的方法 VC 对串口的操作 有人知道吗????? 怎样改变视图分割栏的宽度啊? 如何在一个View中,当字串太长时让末尾显示一个省略号?
BOOL bFound;
int i=0;
bFound = ff.FindFile(szPath + "\\*.*");
while(bFound)
{
bFound = ff.FindNextFile();
cFilePath[i++] = ff.GetFilePath();
cCreationTime[i++] = ff. GetCreationTime();
cLastAccessTime[i++] = GetLastAccessTime();
.
//想要什么自己加
. }
vector<string> PathVector;
PathVector.push_back(strSourceFilePath);
WIN32_FIND_DATA FindData;
int nSize = 1;
//开始查找
for (int i=0; i<nSize; ++i)
{
//变换目录
strSourceFilePath = PathVector[i];
strSourceFilePath += "*.*";//可该为自己需要的文件类型
//在该目录下查找
HANDLE hResult = FindFirstFile(strSourceFilePath.c_str(), &FindData);
if (hResult == INVALID_HANDLE_VALUE)
{
continue;
}
//遍历该目录下每一个文件
do
{
//如果是目录
if (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
//如果不是"."或".."
if (memcmp(FindData.cFileName, ".", 1) != 0)
{
strSourceFilePath = PathVector[i];
strSourceFilePath += FindData.cFileName;
strSourceFilePath += '\\';
PathVector.push_back(strSourceFilePath);
++nSize;
}
continue;
}
else
{
//得到文件路径全名
strSourceFilePath = PathVector[i];
strSourceFilePath += FindData.cFileName;
HANDLE hFileHandle = CreateFile(FilePathName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
//得到文件大小
int FileSize = GetFileSize(hFileHandle, NULL);
}
} while (FindNextFile(hResult, &FindData));
//关闭查找
FindClose(hResult);
}
CloseHandle(hFileHandle);