⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 find3.c

📁 上个星期随便编的linux小程序
💻 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 + -