获取指定目录下指定类型所有文件的全路径及文件名
2010-01-08 09:13
931 查看
网上得到代码有获取指定目录下所有文件名,无路径信息,不能指定文件类型,如下:
#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;
void ListFile(char* szDir)
{
char szTempDir[MAX_PATH+1];
strcpy(szTempDir,szDir);
strcat(szTempDir,"*");
HANDLE hFindFile;
WIN32_FIND_DATA FileData;
hFindFile = FindFirstFile(szTempDir,&FileData);
if( hFindFile == INVALID_HANDLE_VALUE )
{
return ;
}
else
{
do
{
if( (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& strcmp(FileData.cFileName,".")
&& strcmp(FileData.cFileName,".."))
{
char szNewDir[MAX_PATH+1];
strcpy(szNewDir,szDir);
strcat(szNewDir,FileData.cFileName);
strcat(szNewDir,"//");
ListFile(szNewDir);
}
else
{
cout<<szDir<<FileData.cFileName<<endl;
}
}
while(FindNextFile(hFindFile,&FileData));
FindClose(hFindFile);
}
}
int main()
{
char szPath[MAX_PATH+1];
while(cin>>szPath)
{
if(szPath[strlen(szPath)-1]!='//')
strcat(szPath,"//");
ListFile(szPath);
}
return 0;
}
改造后的代码:
未完待续。。。。
#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;
void ListFile(char* szDir)
{
char szTempDir[MAX_PATH+1];
strcpy(szTempDir,szDir);
strcat(szTempDir,"*");
HANDLE hFindFile;
WIN32_FIND_DATA FileData;
hFindFile = FindFirstFile(szTempDir,&FileData);
if( hFindFile == INVALID_HANDLE_VALUE )
{
return ;
}
else
{
do
{
if( (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& strcmp(FileData.cFileName,".")
&& strcmp(FileData.cFileName,".."))
{
char szNewDir[MAX_PATH+1];
strcpy(szNewDir,szDir);
strcat(szNewDir,FileData.cFileName);
strcat(szNewDir,"//");
ListFile(szNewDir);
}
else
{
cout<<szDir<<FileData.cFileName<<endl;
}
}
while(FindNextFile(hFindFile,&FileData));
FindClose(hFindFile);
}
}
int main()
{
char szPath[MAX_PATH+1];
while(cin>>szPath)
{
if(szPath[strlen(szPath)-1]!='//')
strcat(szPath,"//");
ListFile(szPath);
}
return 0;
}
改造后的代码:
未完待续。。。。
相关文章推荐
- Asp.net 获取指定目录下的后缀名为".doc" 的所有文件名和文件路径
- Asp.net 获取指定目录下的后缀名为".doc" 的所有文件名和文件路径
- Python获取指定路径下的某类型文件的所有文件名
- 遍历指定文件下所有的文件夹和文件的路径,文件名,修改日期,类型
- VC-获取文件夹中的指定类型的所有文件名和文件大小
- C++获取某路径下所有文件名,ifstream打开某路径下的指定文件
- 获取文件夹中指定类型的所有文件名和文件大小
- python 文件和目录 当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- 在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- 在指定目录中查找指定类型的文件,并且获取文件名再显示
- 编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- 获取指定目录下的所有文件名和路径(包括子目录)
- 对指定的目录进行递归获取递归过程所有的java文件的路径。
- 获取指定路径下的所有文件名以及读取配置文件
- 【代码】当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径
- 获取指定目录下的所有文件名和路径(包括子目录)
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- php 获取指定目录下的所有文件名和路径(包括子目录)
- android 获取指定路径下所有文件,将文件从一个目录copy到另一个目录,执行linux命令
- php 递归获取指定目录下,所有子级、孙级文件路径。