c枚举文件夹中的文件夹
⑴ 如何枚举目录文件夹里面文件名
枚举文件 .版本 2.子程序 枚举指定文件夹文件, 整数型, 公开, 返回文件数;不枚举子目录文件.参数 参数_待举目录, 文本型, , 自动判断目录尾是否带"\".参数 参数_扩展名, 文本型, , 如:*.txt *.*=所有文件.参数 参数_文件名, 文本型, 参考 数组.局部变量 局_文件名, 文本型.如果真 (取文本右边 (参数_待举目录, 1) ≠ “\”) ' 判断当前目录的格式是否正确。如“C:”,这格式是不正确的,改为"C:\"。 参数_待举目录 = 参数_待举目录 + “\”.如果真结束局_文件名 = 寻找文件 (参数_待举目录 + 参数_扩展名, ).判断循环首 (局_文件名 ≠ “”) 加入成员 (参数_文件名, 参数_待举目录 + 局_文件名) 局_文件名 = 寻找文件 (, ) 处理事件 ().判断循环尾 ()返回 (取数组成员数 (参数_文件名))
⑵ c语言怎么读取某一文件夹下的所有文件夹和文件
读取的代码方式如下:
int main()
{
long file;
struct _finddata_t find;
_chdir("d:\");
if((file=_findfirst("*.*", &find))==-1L)
{
printf("空白! ");
exit(0);
}
printf("%s ", find.name);
while(_findnext(file, &find)==0)
{
printf("%s ", find.name);
}
_findclose(file);
return 0;
}
⑶ DELPHI 在枚举文件夹下文件所有的文件(包含文件夹里面的文件)如何用进度条显示
如果不包括子文件夹就可以,你增加一个FileListBox控件,把控件的Mask属性设成 path+'*'+fileext
然后就可以统计出该路径下指定后缀名的文件的个数 FileListBox1.Items.Count,这样知道了文件个数,再加一个ProgressBar进度条,把ProgressBar.max:=FileListBox1.Items.Count,循环前
ProgressBar1.Position:=0 ,在循环内增加这个值就行了。
functionMakeFileList(Path,FileExt:string):TStringList;
var
sch:TSearchrec;
i,ii:Integer;
begin
Result:=TStringList.Create;
ifRightStr(Trim(Path),1)<>''then
Path:=Trim(Path)+''
elsePath:=Trim(Path);
ifLeftStr(FileExt,1)<>'.'thenFileExt:='.'+trim(FileExt)
elseFileExt:=Trim(FileExt);
ifnotDirectoryExists(Path)then
begin
Result.Clear;
Exit;
end;
//以下为增加的代码-------
ii:=0;
Form1.FileListBox1.Mask:=Path+'*'+fileext;
i:=Form1.FileListBox1.Items.Count;
Form1.ProgressBar1.Max:=i;
Form1.ProgressBar1.Position:=0;
//--------------------------------
ifFindFirst(Path+'*'+fileext,faAnyFile,sch)=0then
begin
repeat
Application.ProcessMessages;
if((sch.Name='.')or(sch.Name='..'))then
Continue;
ifDirectoryExists(Path+sch.Name)then
begin
Result.AddStrings(MakeFileList(Path+sch.Name,FileExt));
end
else
begin
if(UpperCase(ExtractFileExt(Path+sch.Name))=UpperCase(FileExt))then
//or(FileExt='.*')then
begin
Result.Add(Path+sch.Name);
end;
end;
//增加的代码-------
Inc(ii);
Form1.ProgressBar1.Position:=ii;
Form1.Label1.Caption:=IntToStr(ii);
//----------------------
untilFindNext(sch)<>0;
FindClose(sch);
end;
end;
如果你的版本是2010的话,也可以用下面的方法,
usesIOUtils,Types;//IOUtils为2010新增功能
var
dir:TDirectory;
files:TStringDynArray;//需要Types单元支持
str:string;
begin
//aimDir为路径
files:=dir.GetFiles(aimDir,'*.jpg',TSearchOption.soAllDirectories);
Memo1.Clear;
forstrinfilesdo
Memo1.Lines.Add(str);
end;
⑷ 如何用c语言获得一个目录下所有文件的文件名
void enum_path(char *cpath){
WIN32_FIND_DATA wfd;
HANDLE hfd;
char cdir[MAX_PATH];
char subdir[MAX_PATH];
int r;
GetCurrentDirectory(MAX_PATH,cdir);
SetCurrentDirectory(cpath);
hfd = FindFirstFile("*.*",&wfd);
if(hfd!=INVALID_HANDLE_VALUE) {
do{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(wfd.cFileName[0] != '.') {
// 合成完整路径名
sprintf(subdir,"%s\\%s",cpath,wfd.cFileName);
// 递归枚举子目录
enum_path(subdir);
}
}else{
printf("%s\\%s\n",cpath,wfd.cFileName);
// 病毒可根据后缀名判断是
// 否要感染相应的文件
}
}while(r=FindNextFile(hfd,&wfd),r!=0);
}
SetCurrentDirectory(cdir);
}
⑸ 遍历文件夹的问题
我这有一个函数,功能是查找一个文件夹及其子文件夹中是否存在某个文件,也是要通过遍历各个子文件夹来实现的,你在对应的地方稍微改一下就实现你的功能了:
BOOL FindFileInFolder(CString strPathName, CString strFileName)
{
CFileFind finder;
CString strSearch;
BOOL bFind;
strFileName.MakeLower();
if (strPathName.Right(1) == "\\")
strSearch.Format("%s*.*", strPathName);
else
strSearch.Format("%s\\*.*", strPathName);
bFind = finder.FindFile(strSearch);
if (!bFind)
{
finder.Close();
return FALSE;
}
while (bFind)
{
bFind = finder.FindNextFile();
strPathName = finder.GetFilePath(); // 取得文件全名
if (finder.IsDots()) continue; // 是点,忽略
if (finder.IsSystem()) continue; // 是系统文件,忽略
if (finder.IsDirectory()) // 是目录
{
if (FindFileInFolder(strPathName, strFileName)) // 递归调用,进入目录
{
finder.Close();
return TRUE;
}
}
else // 是文件
{
CString strFileFind = finder.GetFileName();
strFileFind.MakeLower();
if (strFileFind == strFileName)
{
finder.Close();
return TRUE;
}
}
}
finder.Close();
return FALSE;
}
⑹ C# 遍历文件夹下所有子文件夹中的文件,得到文件名
输入某文件夹路径,遍历该文件夹及其子文件夹(包括子文件夹的子文件夹等),获取其中所有文件的函数:
/// <summary>
/// 查找指定文件夹下指定后缀名的文件
/// </summary>
/// <param name="directory">文件夹</param>
/// <param name="pattern">后缀名</param>
/// <returns>文件路径</returns>
public void GetFiles(DirectoryInfo directory, string pattern, ref List<string> fileList)
foreach (FileInfo info in directory.GetFiles(pattern))
catch (System.Exception ex)
foreach (DirectoryInfo info in directory.GetDirectories())//获取文件夹下的子文件夹

语言结构
类:一个基本的C#类中包含数据成员、属性、构造器和方法。属性可以是静态或实例成员。在C#中类的声明与C++和Java很相似。但是,不像C++,C#结构体与类是不支持继承多个父类。但是,与Java相同的是,一个结构体可以实现接口(interface)。Java的关键字import已经被替换成using,它起到了同样的作用。
以上内容参考:网络-c#
⑺ 请问如何在vc++中枚举一个文件夹中的文件
void ShowFiles(CString Path)
{
CString File_name;
CFileFind file;
BOOL nContinue;
nContinue = file.FindFile(Path);
if(!nContinue)
return;
while(nContinue)
{
nContinue = file.FindNextFile();
if(file.IsDots())
continue;
else if(file.IsDirectory())
{
CString Cpath;
int Index = Path.ReverseFind('\\');
Cpath = Path.Left(Index);
Cpath +="\\"+file.GetFileName();
Cpath +="\\*.*";
ShowFiles(Cpath);
}
else
{
AfxMessageBox(file.GetFileName());
}
}
}
没测试,用递归把子文件夹里的文件也枚举了。希望可以帮到你。
⑻ 用c语言编程:“输入指定目录,枚举出里面所有的文件。并输出在文件中
多看类接口吧,推荐看下C的FILE类,还有IO操作。。这些操作真的很简单。做编程不能图省事
⑼ MFC获取指定文件夹文件目录
在MFC中,使用CFileFind类,可以枚举一个目录下的所有文件和子目录。
示例:
voidListFolder(constCString&sPath)
{
CFileFindff;
BOOLbFound=ff.FindFile(sPath+"\*.*");
while(bFound)
{
bFound=ff.FindNextFile();
if(ff.IsDirectory())//是目录
{
if(!ff.IsDots())//不是本级目录或父目录(.和..)
ListFolder(ff.GetFilePath());//递归子目录
}
else
{
AfxMessageBox("文件:"+ff.GetFilePath());
}
}
ff.Close();
}
⑽ Matlab枚举一个文件夹中的所有文件夹
参考方法如下:
假设,读取F盘English文件夹中的所有bmp图片:
Files = dir(strcat('F:\\english\\','*.bmp'));
LengthFiles = length(Files);
for i = 1:LengthFiles;
Img = imread(strcat('F:\english\',Files(i).name));
%自己写图像处理函数 ImgProc(Img);
end
