我们先随便写一个lua脚本这里我这样定义一个table
background={r=1,g=2,b=4}
就这样一个简单的table我们在c或者c++里面这样调用配置这个配置文件
extern "C"
{
#include <lua.h>
#include<lauxlib.h>
#include <lualib.h>
}
#pragma comment(lib, "lua5.1.lib")
int getfiedld(lua_State *L,const char *key)
{
int resutl =-1;
lua_getfield(L,-1,key);//调整栈的位置
if (lua_isnumber(L,-1))//判断是否为数字
{
resutl = lua_tonumber(L,-1);//取数
lua_pop(L,1);//出栈
}
return resutl;
}
int main()
{
lua_State *L = luaL_newstate(); //获取lua指针
luaL_openlibs(L);//加载库
luaL_dofile(L,"lua.lua"); //载入和运行lua脚本
lua_getglobal(L,"background"); //获取脚本内的background
int result = getfiedld(L,"c"); //函数调用获取lua table里面的值
printf("%d",result);
return 0;
}