filenames = (char**)realloc(filenames,sizeof(char*)*(n+1));
filenames = (char **)realloc(filenames,sizeof(char*)*(n+1));
#include <direct.h> //use _chdir() and _getcwd() function
#include <io.h> //use _findfirst() and findnext() function
if(handle==-1)/*如果handle为-1, 表示当前目录为空, 则结束查找而返回
如果handle为-1, 表示当前目录为空, 则结束查找而返回 */
return ;
if(file.attrib &_A_SUBDIR ) //是目录
if(file.name[0]!='.') //文件名不是'.'或'..'时
_chdir(file.name); //进入该目录
_getcwd(path,_MAXPATH) //获得目录路径
puts(path); //输出目录路径
view();//继续遍历
_chdir("..");/*查查找完毕之后, 返回上一级目录找完毕之后, 返回 上一级目录*/
else //// 如果第一个实体不是目录,显示该文件
_getcwd(path,_MAXPATH);
// 再获得文件的完整的路径名(包含文件的名称)
strcat(path,"\\");
strcat(path,file.name);
printf("%-20s 9ld\n",path,file.size);
// 继续对当前目录中的下一个子目录或文件进行与上面同样的查找
while(!(_findnext(handle,&file))
if(file.attrib &_A_SUBDIR) //是目录
if(file.name[0]!='.') //文件名不是'.'或'..'时
_chdir(file.name); //进入该目录
_getcwd(path,_MAXPATH) //获得目录路径
puts(path); //输出目录路径
view();//继续遍历
_chdir("..");/*查查找完毕之后, 返回上一级目录找完毕之后, 返回 上一级目录*/
else //// 如果第一个实体不是目录,显示该文件
_getcwd(path,_MAXPATH);
// 再获得文件的完整的路径名(包含文件的名称)
strcat(path,"\\");
strcat(path,file.name);
printf("%-20s 9ld\n",path,file.size);
_findclose(handle);