📄 find3.c
字号:
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <string.h>
void do_print1(char []);
void do_print2(char []);
main(int ac, char *av[])
{
if (ac == 4)
{
ac = ac - 2;
while (--ac)
{
do_print2(av[2]);
}
}
else
{
while (--ac)
{
printf("%s\n", *++av );
do_print1(*av);
}
}
}
void do_print1(char dirname[])
{
DIR *dir_ptr;
struct dirent *direntp;
if (( dir_ptr = opendir(dirname)) == NULL)
{}
else
{
while ((direntp = readdir(dir_ptr )) != NULL)
{
char* temp1 = ".";
char* temp2 = "..";
int ptr1,ptr2;
ptr1 = strcmp(direntp->d_name, temp1);
ptr2 = strcmp(direntp->d_name, temp2);
if (ptr1==0 || ptr2==0)
{}
else
{
char filefullpath[100];
char* ch = "/";
strcpy(filefullpath, dirname);
strcat(filefullpath, ch);
strcat(filefullpath, direntp->d_name);
printf("%s\n", filefullpath);
do_print1(filefullpath);
}
}
closedir(dir_ptr);
}
}
void do_print2(char dirname[])
{
DIR *dir_ptr;
struct dirent *direntp;
if (( dir_ptr = opendir(dirname)) == NULL)
{}
else
{
while ((direntp = readdir(dir_ptr )) != NULL)
{
char* temp1 = ".";
char* temp2 = "..";
int ptr1,ptr2;
ptr1 = strcmp(direntp->d_name, temp1);
ptr2 = strcmp(direntp->d_name, temp2);
if (ptr1==0 || ptr2==0)
{}
else
{
char filefullpath[100];
char* ch = "/";
strcpy(filefullpath, dirname);
strcat(filefullpath, ch);
strcat(filefullpath, direntp->d_name);
if (strstr(filefullpath, "p.c") != NULL)
{
printf("%s\n", filefullpath);
}
else
{}
do_print2(filefullpath);
}
}
closedir(dir_ptr);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -