喜欢2D和ffi luajit,试图使用PHYSFS_enumerateFiles()

时间:2015-07-19 07:16:29

标签: lua lua-table luajit

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

这就是我的功能:

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

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

1 个答案:

答案 0 :(得分:0)

您应该正确阅读reference。在最后一个字符串跟随NULL指针之后,枚举函数返回指向字符串指针的指针。可以使用char*ffi.string转换为Lua字符串。