1.代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <io.h>
char *sFile = "br_portuguese.dict";
int IsHidden(unsigned int nAttribute)
{
return nAttribute & _A_HIDDEN;
}
int IsDirectory(unsigned int nAttribute)
{
return nAttribute & _A_SUBDIR;
}
void scanFile(char* path)
{
char s[216] = {0};
strcpy(s, path);
strcat(s, "\\*.*");
struct _finddata_t c_file;
intptr_t hfile = _findfirst(s, &c_file);
if (hfile == -1L)
return;
do
{
if (strcmp(c_file.name, ".") && strcmp(c_file.name, ".."))
{
if (strcmp(c_file.name, sFile) == 0)
{
if (IsDirectory(c_file.attrib))
{
printf("%10s %s\n", "文件夹", c_file.name);
}
else
{
puts(path);
printf("%10d %s\n", c_file.size, c_file.name);
}
}
if (IsDirectory(c_file.attrib))
{
char str[216] = { 0 };
strcpy(str, path);
strcat(str, "\\");
strcat(str, c_file.name);
scanFile(str);
}
}
} while (_findnext(hfile, &c_file)==0);
_findclose(hfile);
}
int main()
{
char s[526];
printf("请输入一个磁盘号或目录名:");
gets_s(s);
scanFile(s);
return 0;
}