#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include<string.h>
char a[100];
char l[10000]="MSC2023";
int main(int argc, char **argv)
{
DIR *pDir = NULL;
struct dirent * pEnt = NULL;
if (argc != 2)
{
printf("usage: %s dirname\n", argv[0]);//这个argv[0]表示传进来的文件目录名
return -1;
}
pDir = opendir(argv[1]);
if (NULL == pDir)
{
perror("opendir");
return -1;
}
while (1)
{
pEnt = readdir(pDir);
char s[10000];
strcpy(s,argv[1]);
int aa=strlen(s);
s[aa]='/';
if(pEnt != NULL)
{
// 还有子文件,在此处理子文件
strcpy(s+aa+1,pEnt->d_name);
FILE* fp = fopen(s,"r");
if(fp==NULL)
{
break;
}
else{
fgets(a,8,fp);
int c=strcmp(a,l);
if(c==0)
{
printf("%s",pEnt->d_name);
return 0;
}
}
}
else
{
printf("wrong");
break;
}
};
return 0;
}
由于匹配问题,在代码中只申请了较小的空间,所以导致能够应用的问题有限