searchdir.c

来自「用来在Linux下遍历目录」· C语言 代码 · 共 42 行

C
42
字号
//#######################################################################//#  function searchdir is used to search all the dirs/files,by fred.zeng//########################################################################include "searchdir.h"void listdir(char * const destdir, void (*pf)(char * const file,int file_type)){DIR * curdir;int i;struct dirent * curdirent;if((curdir= opendir(destdir))!=NULL)	{		char dirname[400];		char * tmp;		while((curdirent = readdir(curdir))!=NULL)			{			//init dirname[400] to blank ,function define in string_pmp.h			//dirname=alloca(400);			initchar(dirname,400); 			if (strncmp(curdirent->d_name,".",1)!=0 && strncmp(curdirent->d_name,"..",2)!=0) //ignore the . and ..			{   // get the whole path+filename				if (*(strrchr(destdir,'/')+1)=='\0')				strcat(strcat(dirname,destdir),curdirent->d_name);				else				strcat(strcat(strcat(dirname,destdir),"/"),curdirent->d_name);			if (curdirent->d_type==T_FILE) //normal file				{							pf(dirname,curdirent->d_type); // call a callback funtion to process the filename display									}			if (curdirent->d_type==T_DERECTORY) //A directory				{								pf(dirname,curdirent->d_type);				listdir(dirname,pf);  //do a loop call				}			}		}	}	else	printf(" Open directory %s failed! \n",destdir);	closedir(curdir);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?