此程序功能是任意输入一个路径后,显示路径下面所有的子目录
可是运行的时候总是出现错误:cpp(89) : error C2064: term does not evaluate to a function。
请高手们帮我解答一下啊
#include<stdio.h>
#include<conio.h>
#include<io.h>
#include<stdlib.h>
#include<string.h>
void subfile(char *filepath);//定义子目录处理函数
void main(void)
{
FILE *fp;
FILE *fq;
struct _finddata_t filefind;
char path[250];
char subpath[250];
scanf("%s",path); //输入要显示的路径
strcpy(subpath,path);
strcat(path,"/*.*");
if((fp=fopen("path","w"))==NULL) //不能打开输入路径下的目录
{
printf("Can not open the file in the path!\n");
getch();
exit(1);
}
long handle=_findfirst(path,&filefind);
if(handle==-1) //在输入路径下没有文件存在
{
printf( "NO files exist in the path !\n" );
_getch();
exit (1);
}
printf("The directory listing of files is:\n");
while(-1 != _findnext(handle,&filefind)) //输入路径下存在子目录
{
strcat(subpath,filefind.name);
if((fq=fopen("subpath","w"))==NULL) //不能打开此路径
{
return;
}
else
{
subfile(subpath);//该子目录可以打开,进入子目录处理
}
}
_findclose(handle);
_getch();
exit(1);
}
//子目录的处理函数
void subfile(char *filepath)
{
FILE *fp;
char subpath[250];//如果是文件夹,作为路径找其中的文件
char path[250]; //如果下面还有目录,作为下级目录的总路径
char fpath[250]; //如果不是文件夹,此为显示的文件名
strcpy(subpath,filepath);
strcpy(path,filepath);
strcpy(fpath,filepath);
strcat(subpath,"/*.*");
struct _finddata_t subfile;//定义文件目录下的子目录
long handle=_findfirst(subpath,&subfile);
if(-1==handle) //此目录下面已没有子目录
{
printf("%s\n",fpath); //显示目录名
return ;
}
while(-1 != _findnext(handle,&subfile)) //目录下面包含子目录
{
strcat(path,subfile.name);
if((fp=fopen("subpath","w"))==NULL) //不能打开此路径
{
return;
}
else
{
subfile(path); //如果目录还能打开,递归显示子目录
}
}
_findclose(handle);
}
[此贴子已经被作者于2007-7-24 11:36:27编辑过]