c获取所有文件名|C语言怎么读取某一文件夹下的所有文件夹和文件

c获取所有文件名|C语言怎么读取某一文件夹下的所有文件夹和文件的第1张示图

Ⅰ 如何获取目录下所有文件名 c++

以下程序只能在Windows下运行,完全按照c语言编写。但是添加了windows.h库。以下程序在Visual C++ 2008下编译通过。#undef UNICODE // 如果你不知道什么意思,请不要修改#define MAX_RESULT 256#include <stdio.h>#include <stdlib.h>#include <Windows.h>char** EnumFiles(const char *directory, int *count){ WIN32_FIND_DATA FindFileData; HANDLE hFind; char result[MAX_RESULT][MAX_PATH]; char **returnresult; char pattern[MAX_PATH]; int i = 0, j; // 开始查找 strcpy(pattern, directory); strcat(pattern, "\\*.*"); hFind = FindFirstFile(pattern, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) { *count = 0; return NULL; } else { do { strcpy(result[i++], FindFileData.cFileName); } while (FindNextFile(hFind, &FindFileData) != 0); } // 查找结束 FindClose(hFind); // 复制到结果中 returnresult = (char **)calloc(i, sizeof(char *)); for (j = 0; j < i; j++) { returnresult[j] = (char *)calloc(MAX_PATH, sizeof(char)); strcpy(returnresult[j], result[j]); } *count = i; return returnresult;}void main(){ int i, count; char ** result; char directory[MAX_PATH]; printf("请输入要查询的文件夹:"); scanf("%s", directory); result = EnumFiles(directory, &count); for (i = 0; i < count; i++) printf("%s\n", result[i]);}

Ⅱ 如何获取一个文件夹中所有文件的文件名

用DOS命令:(假设你的这个文件夹是c:\pdf)dirc:\pdf\*.pdf>c:\pdf\list.txt运行完之后到目录下去找一个文件名是list.txt的,打开就是文件名了

Ⅲ c语言 怎样获取文件夹中的所有文件

较简单的是用DOS命令 DIR 并转向到一个文件,再打开文件读出一个一个文件名。例如:回char my_cmd[80] = "DIR/B/A-D D:\\USER\\WANG >> abc.lis";system( cmd);你就获得D:\\USER\\WANG 文件夹中的所有文答件,选项意思是 只列 文件名,并按字母排列。 >> abc.lis 转向,存入文件 abc.lis 接着,你可以 用FILE *fp; fp = fopen("abc.lis","r"); 打开文件用 fgets() 读文件名。

Ⅳ c语言读取文件名问题

用C语言读取目录中的文件名的方法:

1、如果是在window环境下,可以用一下方法:

使用stdlib.h头文件声明的system()函数

_CRTIMP int __cdecl system (const char*);

system("dir c:\ /a:h /b > c:\dir.txt");

调用系统命令dir,把c:目录下文件列表写入文件dir.txt中

2、使用dirent.h头文件中声明的opendir(),readdir()函数;

intmain(intargc,char*argv[]){DIR*directory_pointer;structdirent*entry;if((directory_pointer=opendir("d:\XL"))==NULL)printf("Erroropening");else{while((entry=readdir(directory_pointer))!=NULL){printf("%s",entry->d_name);}closedir(directory_pointer);}system("PAUSE");return0;}

3、如果没有dirent.h,可以使用io.h头文件中声明的_findfirst(),_findnext()函数;

示例代码:

intmain(intargc,char*argv[]){longfile;struct_finddata_tfind;_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);system("PAUSE");return0;}

Ⅳ 如何用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); }

Ⅵ c语言获取文件名

voidget_filename(char*path,char*name){inti,j=0;for(i=0;path[i];i++)if(path[i]=='\')j=i;strcpy(name,&path[j]);}

这样得到的name就是你需要的。专

PS:对于属windows 路径中的是 而不是你题目中的/

Ⅶ C语言中,如何获得文件名

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);

Ⅷ c语言 读取目录中的文件名,并将其存入数组中

用system调用DOSDIR命令就可以了:system("dirsss_*/B>log.txt");这就把前缀为sss_的文抄件文件名存入log.txt文件了。一个名字袭一行,没有别的东西。你再读出来。#include<stdio.h>main(){FILE*fp;charstr[30][50];//假定文件数不超过30个inti,n=0;system("dirsss_*/B>log.txt");fp=fopen("log.txt","r");while(1){if(fgets(str[n],50,fp)==NULL)break;str[n][strlen(str[n])-1]='\0';//加一个字符串结束符n++;}fclose(fp);for(i=0;i<n;i++)printf("%s\n",str[i]);}

Ⅸ C# 遍历文件夹下所有子文件夹中的文件,得到文件名

假设a文件夹在F盘下,代码如下。将文件名输出到一个ListBox中using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { DirectoryInfo theFolder = new DirectoryInfo(@"F:\a\"); DirectoryInfo[] dirInfo = theFolder.GetDirectories(); //遍历文件夹 foreach (DirectoryInfo NextFolder in dirInfo) { // this.listBox1.Items.Add(NextFolder.Name); FileInfo[] fileInfo = NextFolder.GetFiles(); foreach (FileInfo NextFile in fileInfo) //遍历文件 this.listBox2.Items.Add(NextFile.Name); } } }}

Ⅹ 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;

}

未经允许不得转载:山九号 » c获取所有文件名|C语言怎么读取某一文件夹下的所有文件夹和文件

赞 (0)