C&Lua:luaL_dostring返回值

ype*_*per 3 c lua

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

luaL_dostring(L, "return 'somestring'");
Run Code Online (Sandbox Code Playgroud)

如何在此行之后在C中读取此返回值?

谢谢.

编辑:谢谢你的帮助.

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

lua_pop(L, 1);
Run Code Online (Sandbox Code Playgroud)

Mic*_*man 6

该值保留在Lua堆栈上.要检索该值,请使用其中一个lua_toXXXX函数,其中-1作为索引参数(-1表示堆栈的顶部).或者,用于lua_gettop()获取堆栈的大小.

在您的情况下,使用此:

luaL_dostring(L, "return 'somestring'");
const char * str = lua_tostring(L, -1);
Run Code Online (Sandbox Code Playgroud)