C&Lua : luaL_dostring return value

标签 c lua

在我的 C 文件中,我这样调用 luaL_dostring:

luaL_dostring(L, "return 'somestring'");

如何在 C 语言中读取此行后的返回值?

谢谢。

编辑: 感谢您的帮助。

我想添加它以在检索元素后将其删除,您使用:

lua_pop(L, 1);

最佳答案

该值保留在 Lua 堆栈中。为了检索值,使用 lua_toXXXX 函数之一,将 -1 作为索引参数(-1 指堆栈的顶部)。或者,使用 lua_gettop() 获取堆栈的大小。

在你的情况下,使用这个:

luaL_dostring(L, "return 'somestring'");
const char * str = lua_tostring(L, -1);

关于C&Lua : luaL_dostring return value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3677792/

相关文章:

lua - 转义 gsub 的字符串

javascript - 在 Arduino 上与 Javascript 共享 C 变量

c - 结构指针类型转换错误分配使指针来自整数而不进行转换

c - 将 Gif 加载到 Gtk3 Window\C++

c - 从包含列表的文本文件中读取

lua - 对象分配Lua

serialization - 是否可以在包含对 C 函数的引用的 lua 字节码字符串上调用 loadstring?

linux - 为什么这段代码可以在 Linux 上运行,但不能在 SunOS 上运行?

performance - 忽略lua中代码的最有效方法是什么?

lua - 什么是弱引用?