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

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

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

B. C语言获取相对路径的文件名(不带路径) 我获取的是带相对路径的文件名,这里只需要文件夹中的文件名称

ExtractFileName(文件抄完整路径 含文件名)例:procere TForm1.Button1Click(Sender: TObject);begin if OpenDialog1.Execute then begin showmessage(ExtractFileName(OpenDialog1.FileName)); end;end;以上例子为:当点击Button1时,弹出选择文件后,显示所选的文件名称(含扩展名)。

C. 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); } } }}

D. VC++已知文件路径,如何获取路径下的文件名

楼主是想从路径下得到文件名吗假设路径是C:\1\2\3.txt,楼主是想要得到3.txt这个文件名吧,其实用CString很好专解决,反向查找\就可属以了CString sPath = _T("c:\\1\\2\\3.txt");CString sFile;int i = sPath.ReverseFind('\\');if (i > 0){sFile = sPath.Mid(i + 1);//sFile就是3.txt了} 或者我理解错了,楼主是要枚举路径下的文件名?

E. 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;

}

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

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

G. c++获取指定目录下的文件名

可以使用searchenv函数来实现,参考代码如下:

intmain(void){charpathbuffer[_MAX_PATH];charsearchfile[]="×.EXE";charenvvar[]="PATH";//:_searchenv(searchfile,envvar,pathbuffer);//C4996//Note:_searchenvisdeprecated;considerusing_searchenv_sif(*pathbuffer!='')printf("Pathfor%s:%s",searchfile,pathbuffer);elseprintf("%snotfound",searchfile);}

H. C语言:如何得到指定地址的文件夹中所有文件的文件名和其修改时间 包括子文件内的

//获取指定目录下的所有文件列表 author:wangchangshaui jlu char** getFileNameArray(const char *path, int* fileCount) { int count = 0; char **fileNameList = NULL; struct dirent* ent = NULL; DIR *pDir; char dir[512]; struct stat statbuf; //打开目录 if ((pDir = opendir(path)) == NULL) { myLog("Cannot open directory:%s\n", path); return NULL; } //读取目录 while ((ent = readdir(pDir)) != NULL) { //统计当前文件夹下有多少文件(不包括文件夹) //得到读取文件的绝对路径名 snprintf(dir, 512, "%s/%s", path, ent->d_name); //得到文件信息 lstat(dir, &statbuf); //判断是目录还是文件 if (!S_ISDIR(statbuf.st_mode)) { count++; } } //while //关闭目录 closedir(pDir); // myLog("共%d个文件\n", count); //开辟字符指针数组,用于下一步的开辟容纳文件名字符串的空间 if ((fileNameList = (char**) myMalloc(sizeof(char*) * count)) == NULL) { myLog("Malloc heap failed!\n"); return NULL; } //打开目录 if ((pDir = opendir(path)) == NULL) { myLog("Cannot open directory:%s\n", path); return NULL; } //读取目录 int i; for (i = 0; (ent = readdir(pDir)) != NULL && i < count;) { if (strlen(ent->d_name) <= 0) { continue; } //得到读取文件的绝对路径名 snprintf(dir, 512, "%s/%s", path, ent->d_name); //得到文件信息 lstat(dir, &statbuf); //判断是目录还是文件 if (!S_ISDIR(statbuf.st_mode)) { if ((fileNameList[i] = (char*) myMalloc(strlen(ent->d_name) + 1)) == NULL) { myLog("Malloc heap failed!\n"); return NULL; } memset(fileNameList[i], 0, strlen(ent->d_name) + 1); strcpy(fileNameList[i], ent->d_name); myLog("第%d个文件:%s\n", i, ent->d_name); i++; } } //for //关闭目录 closedir(pDir); *fileCount = count; return fileNameList; }

I. VC环境中用C语言查找当前路径下的所有文件和文件夹的函数是什么

这是我的TFTP程序中的一个函数,是搜索当前盘符下的所有文件,包括文件的大小,并发送到客户端,其中就有查找当前路径下的文件,你自己挑一下,应该能完成你的需求。void FileList(sockaddr_in sour_addr,char strStartDir[]){ char sendbuffer[1024]; sockaddr_in destaddr; int sourlen = 0; int ret = 0; int len = 0; int flen = 0; fd_set fdr; unsigned short blocknum = 0; FILE *file; char filename[128]; strcpy(filename,strStartDir+2); /*获取文件名*/ strcat(filename,"\\*"); destaddr.sin_family = AF_INET; destaddr.sin_port = sour_addr.sin_port; destaddr.sin_addr.s_addr = inet_addr(desthost);// WIN32_FIND_DATA FindFileData; HANDLE hFind; hFind = FindFirstFile(filename, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) { printf ("Invalid File Handle"); } else { while(FindNextFile(hFind,&FindFileData)) { printf(FindFileData.cFileName); printf("\r\n"); memset(sendbuffer,'\0',1024); len = filldata(blocknum++,FindFileData.cFileName,strlen(FindFileData.cFileName),sendbuffer,sizeof(sendbuffer)); ret = sendto(serverSock,sendbuffer,len,0,(sockaddr *)&destaddr,sizeof(destaddr)); } len = fillover(blocknum,"Over",4,sendbuffer,sizeof(sendbuffer)); ret = sendto(serverSock,sendbuffer,len,0,(sockaddr *)&destaddr,sizeof(destaddr)); FindClose(hFind); return; }}

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

赞 (0)