利用C语言获取目录下所有的文件名,并将目录下的文件名输出到TXT文件中;
利用_findfirst和_findnext函数进行遍历查找;
小程序下载:
#include<time.h>
#include<stdio.h>
#include<dos.h>
#include<conio.h>
#include <stdlib.h>
#include <windows.h>
#include <direct.h>
#include <io.h>
FILE *fp = NULL;
void view(char *FileAddr)
{
struct _finddata_t file;
long handle;
int iRetVal = 0;
FILE *pf = NULL;
char cFileAddr[300];
strcpy(cFileAddr, FileAddr);
_chdir(FileAddr);
strcat(cFileAddr, "*.*");
handle = _findfirst(cFileAddr, &file);
if (handle == -1)
return;
else
{
if (file.attrib &_A_SUBDIR)
{
if (file.name[0] != '.')
{
memset(cFileAddr, 0, sizeof(cFileAddr));
_chdir(file.name);
printf("%s\n",file.name);
fprintf(fp,"%s\n" ,file.name);
_chdir("..");
}
}
while (!(_findnext(handle, &file)))
{
if (file.attrib &_A_SUBDIR)
{
if (file.name[0] != '.')
{
memset(cFileAddr, 0, sizeof(cFileAddr));
_chdir(file.name);
printf("%s\n",file.name);
fprintf(fp,"%s\n" ,file.name);
_chdir("..");
}
}
}
_findclose(handle);
}
return;
}
main()
{
int i=0;
char FileAddr[50];
time_t start,end;
printf("please input file path:\n");
scanf("%s", FileAddr);
puts(FileAddr);
fp = fopen("aa.txt", "w");
if(fp ==NULL)
printf("打开文件aa.txt失败\n");
start=time(NULL);
view(FileAddr);
end=time(NULL);
printf("runtime is:%f(s)\n",difftime(end,start));
fclose(fp);
_getch();
}