加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在C中创建Lua表,并将其传递给Lua函数?

发布时间:2020-12-16 07:53:36 所属栏目:百科 来源:网络整理
导读:在C中,我有一个地图 string,string,包含未知数目的条目.如何将其传递给Lua函数,以便Lua函数可以将数据用作表? 解决方法 如果你想要一个真正的lua表: lua_newtable(L);int top = lua_gettop(L);for (std::map::iterator it = mymap.begin(); it != mymap.en
在C中,我有一个地图< string,string>,包含未知数目的条目.如何将其传递给Lua函数,以便Lua函数可以将数据用作表?

解决方法

如果你想要一个真正的lua表:
lua_newtable(L);
int top = lua_gettop(L);

for (std::map::iterator it = mymap.begin(); it != mymap.end(); ++it) {
    const char* key = it->first.c_str();
    const char* value = it->second.c_str();
    lua_pushlstring(L,key,it->first.size());
    lua_pushlstring(L,value,it->second.size());
    lua_settable(L,top);
}

将您的地图的正确类型替换为..

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读