本文介绍了C&放大器; LUA:luaL_dostring返回值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的C文件我称之为luaL_dostring是这样的:
luaL_dostring(L,回报somestring');
我怎么这行后读取C这个返回值?
感谢。
编辑:
感谢您的帮助。
我想补充一点,检索后要删除的元素,你可以使用:
调用lua_pop(L,1);
解决方案
该值留在Lua的堆栈。为了检索的值,使用的 lua_toXXXX
的功能之一,为-1索引参数(-1指堆栈的顶部)。另外,使用 lua_gettop()
来获取堆栈的大小。
在你的情况,使用:
luaL_dostring(L,回报somestring');
为const char *海峡= lua_tostring(L,-1);
in my C file I call luaL_dostring like this:
luaL_dostring(L, "return 'somestring'");
How do I read this return value in C after this line?
Thanks.
Edit:Thanks for the help.
I'd like to add that to remove the element after retrieving it, you use:
lua_pop(L, 1);
解决方案
The value is left on the Lua stack. In order to retrieve the value, use one of the lua_toXXXX
functions, with -1 as the index argument (-1 refers to the top of the stack). Alternatively, use lua_gettop()
to get the size of the stack.
In your case, use this:
luaL_dostring(L, "return 'somestring'");
const char * str = lua_tostring(L, -1);
这篇关于C&放大器; LUA:luaL_dostring返回值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!