首页 > 编程语言 > 详细

c++获取lua嵌套table某属性的值

时间:2015-07-14 20:09:34      阅读:319      评论:0      收藏:0      [点我收藏+]
int main()
{
    lua_State *luaState = lua_open();              
        // 创建 Lua 状态. 其实就是一个数据结构.
    luaL_openlibs(luaState);                            
        // 加载所有标准库, 例如: print 等.
    luaL_dofile(luaState, "../Debug/test.lua");
    //index为0,表示把栈全清空
    lua_settop(luaState, 0);
    //根配置入栈
    lua_getglobal(luaState, "SceneConfig");
    //key入栈
    lua_pushinteger(luaState, 1);
    //key弹出得到key对应的table入栈
    lua_gettable(luaState, 1);
        //子Key入栈,此时内table索引为-2
        lua_pushstring(luaState, "name");
        //得到name对应的值,key出栈,值入栈
        lua_gettable(luaState, -2);
    
    //获得栈顶值    
    cout << lua_tostring(luaState, -1) << endl;
    //栈顶值出栈
    lua_pop(luaState, 1);
    //压入key值
    lua_pushstring(luaState,"sex");
    //弹出key值,对应的值入栈
    lua_gettable(luaState, -2);
    //得到栈顶值
    cout << lua_tointeger(luaState, -1) << endl;
    getchar();
}   

 

c++获取lua嵌套table某属性的值

原文:http://www.cnblogs.com/beyond-time-space/p/4646286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!