函数遍历文件夹,但是遇到了困难。希望能得到一些帮助。

它总是返回一个字符串,这个字符串(至少我猜)是表格标识符,有人可以帮忙吗?

这是我的函数:

function listFiles(dir)
    local ffi = require("ffi")
    ffi.cdef[[char ** PHYSFS_enumerateFiles (   const char *    dir  );]]
    local liblove = ffi.os == "Windows" and ffi.load("love") or ffi.C
    local tb={}
    tb=liblove.PHYSFS_enumerateFiles(dir)
    return tb
end

它应该返回一个包含我传递给它的“Dir”的文件内容的字符串,但它没有。无法弄清原因。

点赞
用户2546626
用户2546626

你应该仔细阅读 参考文献。枚举函数返回一个指向字符串指针的指针,最后一个字符串后面跟着一个 NULL 指针。从 char* 转换为 Lua 字符串可以使用 ffi.string

2015-07-19 12:29:20