首页 > 其他分享 >递归调用

递归调用

时间:2024-02-20 21:33:06浏览次数:17  
标签:调用 str 递归 stu file include dir name

遍历目录和子目录

#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
void DIRENT(char *path)
{
	int len=0;
	char str_stu[1024];
	struct dirent *dir_file;
	DIR *dir=opendir(path);
	assert(dir!=NULL);
	while((dir_file=readdir(dir))!=NULL)
	{
		if(strcmp(dir_file->d_name,".")==0||strcmp(dir_file->d_name,"..")==0) continue;
		printf("%s\n",dir_file->d_name);
	}
	rewinddir(dir);
	while((dir_file=readdir(dir))!=NULL)
	{
		if(strcmp(dir_file->d_name,".")==0||strcmp(dir_file->d_name,"..")==0) continue;
		if(DT_DIR==dir_file->d_type)
		{
			len=strlen(path);
			strcpy(str_stu,path);
			if(str_stu[len-1]!='/')
				strcat(str_stu,"/");
			strcat(str_stu,dir_file->d_name);
			printf("目录%s\n",str_stu);
			DIRENT(str_stu);
		}
	}
	closedir(dir);
}
int main(int argc, char **argv)
{
	DIRENT(argv[1]);
	return 0;
}

标签:调用,str,递归,stu,file,include,dir,name
From: https://www.cnblogs.com/yesiming/p/18024100

相关文章

  • 递归学习笔记
    本文同步发表在洛谷博客我们充分发扬人类智慧:将递推和递归混为一谈在\(dp\)的基础上来学递归然后把递推和\(dp\)混为一谈然后我就发现:™的我\(dp\)没学好!然后去学\(dp\),然后发现我递推没学好,所以四舍五入我递归也学不好,那就不学了!好了让我们步入正题正文......
  • javascript对象定义及对象调用
    javascript对象用{}可以存放任意类型数据<!DOCTYPEhtml><htmllang="en"><head>   <metacharset="UTF-8">   <metahttp-equiv="X-UA-Compatible"content="IE=edge">   <metaname="viewport"......
  • 洛谷题单指南-递推与递归-P1259 黑白棋子的移动
    原题链接:https://www.luogu.com.cn/problem/P1259题意解读:要打印最终的状态,关键在找到一些变化的规律,直接的暴力搜索复杂度太高。解题思路:从样例出发ooooooo*******--oooooo--******o*oooooo******--o*ooooo--*****o*o*ooooo*****--o*o*oooo--****o*o*o*oooo****--o*o*o*ooo--......
  • C#调用JS实现
    在做Unity转换微信小程序的时候,由于微信小程序内使用的语言为js,Unity内使用的是C#,所以在一些场景中会有C#调用js的情况出现。创建.jslib文件创建文本文档或其他,文件名根据自己需要,将文件后缀名改为.jslib。mylib.jslib文件内容为:varMyLib={TestNormal:function(val)......
  • 递归调用和栈溢出
    一、简介    栈溢出:StackOverflow。对于每个程序,栈能使用的内存是有限的,一般是1M-8M,在程序编译时就已经决定了,程序运行期间不能改变。如果程序使用的栈内存超出最大值,就会发生栈溢出错误,程序会崩溃。二、栈溢出的原因    因为每调用一个方法就会在栈上创建一个......
  • Oracle递归授权view底层依赖表查询权限存储过程
    createorreplaceproceduresys.grant_view_base_table_access(p_accessownerVARCHAR2,p_vownerVARCHAR2,p_vnameVARCHAR2)--RETURNnumberasv_accessownerVARCHAR2(200):=trim(upper(p_accessowner));v_ownerVARCHAR2(200):=trim(upper(p_vowner));v_nameVARCHAR......
  • C#调用HTTPS
    1、C#.NETCore使用HttpClient时忽略HTTPS证书最近项目遇到HttpClient请求代理时报SSL认证失败,解决方案记录 varhandler=newHttpClientHandler();handler.ServerCertificateCustomValidationCallback=delegate{returntrue;};varclient=newHttpClient(handler); ......
  • 洛谷题单指南-递推与递归-P3612 [USACO17JAN] Secret Cow Code S
    原题链接:https://www.luogu.com.cn/problem/P3612题意解读:字符串加长的时候,是先把最后一个字符接上,再拼接其余字符,注意不是翻转,要找第n个字符,就要看字符串加长几次后长度能超过n,然后在加长后的字符串中找第n个字符。解题思路:如果直接通过模拟法,字符串长度太长,且要找的第n个数......
  • python调用qq邮箱发送邮件
    代码如下,需要qq邮箱开启授权码importsmtplibfromemail.mime.textimportMIMETextfromemail.headerimportHeadermessage=MIMEText('邮件内容')#邮件内容message['From']=Header('[email protected]')#邮件发送者名字message['To']=Header(&#......
  • 递归与循环比较
    下面通过几个例子,对递归与循环进行比较。递归1#include<iostream>usingnamespacestd;voiddfs(intn){ if(n==0)return; cout<<n<<”“;dfs(n-1);}intmain(){ dfs(10000);dfs(75000);//运行RE}说明递归对内存有一定的消耗对应的循环......