还是在C环境下,不是C++或C#。可以在Visual C++6.0中文版或Turbo C中文版里运行的。
再顿首谢!
我用的是下载的“Turbo C for Windows 集成实验与学习环境共享版6.11”,这个破代码让我几乎崩溃。
我想到可用ffblk结构里的成员ff_attrib来判断是否是目录。我输入一个filename,用if来判断是文件或目录,但好象没有成功。代码如下:
#include <stdlib.h>
#include <stdio.h>
#include <dir.h>
#include <io.h>
#include <string.h>
void main()
{
int hFile;
char path[MAXPATH];
char filename[50];
struct ftime ft;
struct ffblk ff;
hFile = 0;
printf("请输入文件名:");
gets(filename);
printf("\n\n文件信息如下:\n");
hFile=findfirst(filename,&ff,0);
if(!hFile)
{
if((ff.ff_attrib != DIRECTORY) && (strcmp(ff.ff_name, ".")!=0) || (strcmp(ff.ff_name, "..")!=0))
{
getftime(hFile, &ft);
printf("文件名: %s\n", ff.ff_name);
printf("文件大小:%ld字节\n", ff.ff_fsize);
if(ft.ft_min>=10)
{
printf("最后访问时间:%u-%u-%u %u:%u\n\n", ft.ft_year+1980,ft.ft_month, ft.ft_day ,ft.ft_hour, ft.ft_min);
}
else
{
printf("最后访问时间:%u-%u-%u %u:0%u\n\n", ft.ft_year+1980,ft.ft_month, ft.ft_day ,ft.ft_hour, ft.ft_min);
}
}
else
{
hFile = findnext(&ff);
}
}
else
{
printf("没有该文件!\n");
}
findclose(hFile);
}
此代码已经可以在当前目录下搜索。但是必须不止要在当前目录搜索文件,还要进入当前目录里的所有的子目录里再搜索,我就死活想不出来了,所以恳请诸位帮忙,感激不尽啊!!!