TC官方合作论坛

 找回密码
 立即注册
查看: 481|回复: 2

【教程】递归遍历文件夹,自定义栈大小。

[复制链接]
发表于 2023-10-17 04:07:07 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
【教程】递归遍历文件夹,自定义栈大小。
 
夜尽天明 14:10:03
哪位大佬教下 递归遍历文件的方法嘛
 
LokmenoWer 14:11:56
递归遍历文件,全称是递归遍历文件.夹
首先你先写一个遍历文件夹
然后在调用里面判断,遍历到的是文件 还是文件夹
if(目标是文件夹)
 就把文件夹作为参数传入,调用函数自身.
end

夜尽天明 14:13:15
能写个示例吗   弄吧半天逛崩溃
等大神帮忙给个示例了
 
华 18:38:19
@夜尽天明 功能 递归遍历文件(路径) //路径="d:/IDM/"
    变量 文件保存数组, 文件夹保存数组
    文件遍历(路径, 文件保存数组, 文件夹保存数组)
    变量 file_len = 数组大小(文件保存数组)
    遍历(变量 ai = 0; ai < file_len; ai++)
        调试输出(路径 & 文件保存数组[ai])
    结束
    变量 folder_len = 数组大小(文件夹保存数组)
    遍历(变量 ai = 0; ai < folder_len; ai++)
        递归遍历文件(路径 & 文件夹保存数组[ai] & "/")
    结束
结束
 
夜尽天明 18:57:01
@华 谢谢,明天去搞一下
 
厚德载物。 19:15:54
递归调用自身,50--60次就递归爆栈了
文件夹的个数,不能超过50--60个
 
厚德载物。 19:24:46
@华 栈空间大小,在开辟线程时 就已经定义好了。
栈空间大小 默认为2M,递归调用自身,50--60次就爆栈了。
在开辟线程时,把栈空间 定义为20M,递归调用个几百次 应该不成问题。
 
厚德载物。 19:29:07
用win32 API开辟线程,自定义栈大小 是这样写的。
var count = 0
function 递归proc()
  traceprint(cstring(count))
  count++
if(count < 1000)
  递归proc()
end
end

vat lpStartAddress, lpParameter, hThread, ThreadId
function 定义回调函数_点击()
var StackSize = 1024 * 1024 * 20 //20M
lpStartAddress = callbackmalloc("递归proc","dialogproc")
lpParameter = "参数"
 
hThread = CreateThread(null, StackSize, lpStartAddress, lpParameter, 0, ThreadId)
end
 
function 释放回调函数_点击()
    CloseHandle(hThread)
    callbackfree(lpStartAddress)
end

//开辟线程,win32 API函数
//为了让更多人看到,关键代码回复可见.
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

 楼主| 发表于 2023-10-17 04:10:59 来自手机 | 显示全部楼层
二楼,更新信息专用。
tc简单开发_爱好群:
433286131 (491/500)

tc简单开发_兴趣群
143358382 (492/500)

tc简单开发_高级群
891069033(168/200)

教程有.连接安卓手机,连接安卓模拟器。
有编程四大F:
1、流程控制,2、变量和数组,
3、函数多线程,4、系统 api函数。
每章都有十多节。本群大神众多,新手众多,群文件内资源海量。希望新手分享出.更多学习笔记,减少重复造轮子的时间。
好编程,齐学习,齐进步。赞助请加高级群.
回复 支持 反对

使用道具 举报

发表于 2024-2-28 00:24:05 | 显示全部楼层
日常回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-28 03:29 , Processed in 0.033202 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表