• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

lua 获取指定目录下指定后缀文件名

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

lfs库是很好的选择,可惜不会编译,无奈只能自己写个简单的lua库。代码如下:

 1 #include <io.h>
 2 #include <stdio.h>
 3 
 4 #include "lua.h"
 5 #include "lauxlib.h"
 6 #include "lualib.h"
 7 
 8 static int
 9 DirFiles(lua_State *L){
10     long Handle;
11     struct _finddata_t FileInfo;
12     size_t l;
13     int index = 0;
14     const char* path = luaL_checklstring(L, 1, &l);
15     lua_newtable(L);
16     if ((Handle = _findfirst(path, &FileInfo)) != -1L)
17     {
18         lua_pushstring(L, FileInfo.name);
19         lua_seti(L, -2, ++index);
20         while(_findnext(Handle, &FileInfo) == 0)
21         {
22             lua_pushstring(L, FileInfo.name);
23             lua_seti(L, -2, ++index);
24         }
25         _findclose(Handle);
26     }
27     
28     return 1;
29 }
30 
31 int 
32 luaopen_lfs(lua_State *L){
33     luaL_checkversion(L);
34     
35     luaL_Reg methods[] = {
36         {"DirFiles", DirFiles},
37         {NULL, NULL}
38         };
39     luaL_newlib(L, methods);
40     
41     return 1;
42 }

简单编译成链接库供lua使用,lua调用方式如下:

1 local lfs = require "lfs"
2 local files = lfs.DirFiles("./*.c")

make这东西真的需要好好学学,经常会碰到git下来的项目没法编译,都是泪啊...推荐陈硕的博客跟我一起写Makefile


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua判断为空的逻辑发布时间:2022-07-22
下一篇:
lua元表元方法发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap